db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dag H. Wanvik (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-673) Get rid of the NodeFactory
Date Tue, 23 Jul 2013 10:12:48 GMT

     [ https://issues.apache.org/jira/browse/DERBY-673?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Dag H. Wanvik updated DERBY-673:
--------------------------------

    Attachment: derby-673-nuke-ctypes-without-enum-2.status
                derby-673-nuke-ctypes-without-enum-2.diff

Attaching version 2 of the "nuke-ctypes-without-enums" patch. This refactors the isSameNodeType
to move to logic of testing kinds into the relevant node classes.

I introduced a default method ValueNode#isSameNodeKind which the classes that implement several
kinds need to override to add the extra kind check. This is then called from the isEquivalent
overrides as needed.

Regressions passed.
                
> Get rid of the NodeFactory
> --------------------------
>
>                 Key: DERBY-673
>                 URL: https://issues.apache.org/jira/browse/DERBY-673
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>            Reporter: Rick Hillegas
>            Assignee: Dag H. Wanvik
>              Labels: derby_triage10_11
>         Attachments: derby-673-1.diff.gz, derby-673-1.status, derby-673-2.diff.gz, derby-673-2.status,
derby-673-3.diff.gz, derby-673-3.status, derby-673-fixcomments.diff, derby-673-more-typesafe-6.diff,
derby-673-more-typesafe-6.status, derby-673-nuke-ctypes-enum.diff, derby-673-nuke-ctypes-enum.stat,
derby-673-nuke-ctypes-without-enum-2.diff, derby-673-nuke-ctypes-without-enum-2.status, derby-673-nuke-ctypes-without-enum.diff,
derby-673-nuke-ctypes-without-enum.status, derby-673-typesafe-lists-1.diff, derby-673-typesafe-lists-1.status,
derby-673-typesafe-lists-2.diff.gz, derby-673-typesafe-lists-2.status, nodefactory-31.status,
nodefactory-31.zip
>
>
> This piece of code once had a purpose in life. It was one of the double-joints which
allowed cloudscape to ship with and without compiler support for the synchronization language.
Synchronization has been removed. If we want to plug in optional language components, I think
there are better ways to do this.
> The NodeFactory turned into a big, sprawling piece of code. At some point this code was
slimmed down by telescoping all of its factory methods into a couple unwieldly, weakly-typed
overloads backed by cumbersome logic in the actual node constructors. I would like to reintroduce
strongly typed node constructors which the parser can call directly. This will make node generation
easier to read and less brittle and it will get rid of the now useless NodeFactory class.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message