/[Apache-SVN]
ViewVC logotype

Revision 1495305


Jump to revision: Previous Next
Author: dag
Date: Fri Jun 21 07:47:47 2013 UTC (10 years, 10 months ago)
Changed paths: 244 (showing only 100; show all)
Log Message:
DERBY-673 Get rid of the NodeFactory

Patch derby-673-3.

a) Replaced the old init methods in "*Node.java" classes with
   constructors. Some logical node types have different "C_NodeType"
   values in their nodeType field after construction but still share
   the same node class. I have not attempted to increase the number of
   node classes to match logical == physical node classes this
   once. Actually one class was removed because it unused:
   "SQLBooleanConstantNode". "IsNode" is also currently unused but
   there is a JIRA to make use of it (DERBY-5973), so I left it in
   place.

   Boxed argument types were replaced by primitive types except in a
   few cases where instanceof was used on them to detect type
   overloading; this could be gotten rid of by adding more
   constructors.

   Since the constructor arguments are now strongly typed, a great
   many casts were removed in the process and readability is improved
   a lot.

   In some cases the old init procedures did computations before
   calling "super.init". Since the call to the corresponding super
   constructor needs to be the first code in a constructor, I
   sometimes had to introduce new private static methods to compute
   the correct arguments to send on to the super class constructor,
   e.g. "getTypeId" in "UserTypeConstantNode". I think there is some
   redundancy here that could be removed in a follow-up patch.

   All the non-abstract node classes (still) set their corresponding
   "C_NodeType" value; but in many (most?) cases the field is no
   longer needed. This could be improved by removing them altogether
   and introduced class constants where needed to differentiate
   between logical node type mapped to one class. This is already done
   halfheartedly to some extent, e.g. enum "Sign" in "IsNullNode".

   The old "tools/jar/DBMSnodes.properties" file could be removed
   altogether since the node classes are now added automatically due
   to dependencies that the compiler can see (no longer constructed by
   reflection).

   The old nodeFactory method "doJoinOrderOptimization" was moved to
   the OptimizerFactory now that the NodeFactory has gone.

b) Added @Override tags to methods that override existing methods (not those
   that merely implement an interface)

c) Removed unused imports and sorted import statements for ease of future
   maintenance by IDEs

d) Renamed variables that shadowed class members

e) Replaced usage of StringBuffer with StringBuilder

f) Restricted public visibility to package private for all classes, methods and
   members in compile/impl unless they needed more visibility according to
   actual usage.

g) Made List arguments to node classes use generics in those cases it was
   missing.

e) Renamed some node types to make the the type mirror the node class correctly
   (there were only very few exceptions to that rule), e.g. LIKE_OPERATOR_NODE
   -> LIKE_ESCAPE_OPERATOR_NODE since the class is called
   LikeEscapeOperatorNode.

f) Reduced scope of some variables: initialized to null values never used long
   before actual usage in code. By moving the declaration closed to usage, the
   unnecessary initialization could often be removed.

g) Fixed some spelling errors in comments.

h) Renamed some SQL-related constants (StoredFormatIds, TypeId) from "longint"
   " to "bigint" to reflect Derby SQL syntax.

Changed paths

Path Details
Directorydb/derby/code/trunk/java/engine/org/apache/derby/catalog/types/BaseTypeIdImpl.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/catalog/types/TypesImplInstanceGetter.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/iapi/services/io/StoredFormatIds.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/iapi/sql/ResultColumnDescriptor.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/iapi/sql/compile/C_NodeTypes.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/iapi/sql/compile/CompilerContext.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/iapi/sql/compile/Node.java deleted
Directorydb/derby/code/trunk/java/engine/org/apache/derby/iapi/sql/compile/NodeFactory.java deleted
Directorydb/derby/code/trunk/java/engine/org/apache/derby/iapi/sql/compile/OptimizablePredicate.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/iapi/sql/compile/OptimizerFactory.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/iapi/sql/conn/LanguageConnectionFactory.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/iapi/sql/dictionary/DataDictionary.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/iapi/types/DataTypeDescriptor.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLLongint.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/iapi/types/TypeId.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/Util.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/AccessPathImpl.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ActivationClassBuilder.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/AggregateDefinition.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/AggregateNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/AggregateWindowFunctionNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/AllResultColumn.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/AlterTableNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/AndNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BaseColumnNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BaseJoinStrategy.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BaseTableNumbersVisitor.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BaseTypeCompiler.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BetweenOperatorNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BinaryArithmeticOperatorNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BinaryComparisonOperatorNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BinaryListOperatorNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BinaryLogicalOperatorNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BinaryOperatorNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BinaryRelationalOperatorNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BitConstantNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BitTypeCompiler.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BooleanConstantNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BooleanTypeCompiler.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CLOBTypeCompiler.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/C_NodeNames.java deleted
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CallStatementNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CastNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CharConstantNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CharStream.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CharTypeCompiler.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CoalesceFunctionNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ColumnDefinitionNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ColumnOrdering.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ColumnReference.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CompilerContextImpl.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ConcatenationOperatorNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ConditionalNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ConstantNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ConstraintDefinitionNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CostEstimateImpl.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CountAggregateDefinition.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CreateAliasNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CreateIndexNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CreateRoleNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CreateSchemaNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CreateSequenceNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CreateTableNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CreateTriggerNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CreateViewNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CurrentDatetimeOperatorNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CurrentOfNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CurrentRowLocationNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CursorNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DB2LengthOperatorNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DDLStatementNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DMLModStatementNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DMLStatementNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DateTypeCompiler.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DefaultNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DefaultOptTrace.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DeleteNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DistinctNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DropAliasNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DropIndexNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DropRoleNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DropSchemaNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DropSequenceNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DropTableNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DropTriggerNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DropViewNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ExecSPSNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ExpressionClassBuilder.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ExtractOperatorNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/FKConstraintDefinitionNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/FromBaseTable.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/FromList.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/FromSubquery.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/FromTable.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/FromVTI.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/GenerationClauseNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/GetCurrentConnectionNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/GrantNode.java modified , text changed
Directorydb/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/GrantRoleNode.java modified , text changed
[...]

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26