org.apache.derby.iapi.sql.compile
Class NodeFactory

java.lang.Object
  extended by org.apache.derby.iapi.sql.compile.NodeFactory
Direct Known Subclasses:
NodeFactoryImpl

public abstract class NodeFactory
extends java.lang.Object

This is an interface for NodeFactories.

There is expected to be only one of these configured per database.


Field Summary
static java.lang.String MODULE
          Module name for the monitor's module locating system.
 
Constructor Summary
NodeFactory()
           
 
Method Summary
abstract  java.lang.Boolean doJoinOrderOptimization()
          Tell whether to do join order optimization.
abstract  QueryTreeNode getCreateAliasNode(java.lang.Object aliasName, java.lang.Object targetName, java.lang.Object aliasSpecificInfo, char aliasType, java.lang.Boolean delimitedIdentifier, ContextManager cm)
          Get one of the several types of create alias nodes.
abstract  QueryTreeNode getNode(int nodeType, ContextManager cm)
          Get a node that takes no initializer arguments.
 QueryTreeNode getNode(int nodeType, java.lang.Object arg1, ContextManager cm)
          Get a node that takes one initializer argument.
 QueryTreeNode getNode(int nodeType, java.lang.Object arg1, java.lang.Object arg2, ContextManager cm)
          Get a node that takes two initializer arguments.
 QueryTreeNode getNode(int nodeType, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, ContextManager cm)
          Get a node that takes three initializer arguments.
 QueryTreeNode getNode(int nodeType, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, ContextManager cm)
          Get a node that takes four initializer arguments.
 QueryTreeNode getNode(int nodeType, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, ContextManager cm)
          Get a node that takes five initializer arguments.
 QueryTreeNode getNode(int nodeType, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, ContextManager cm)
          Get a node that takes six initializer arguments.
 QueryTreeNode getNode(int nodeType, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, ContextManager cm)
          Get a node that takes seven initializer arguments.
 QueryTreeNode getNode(int nodeType, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, ContextManager cm)
          Get a node that takes eight initializer arguments.
 QueryTreeNode getNode(int nodeType, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, ContextManager cm)
          Get a node that takes nine initializer arguments.
 QueryTreeNode getNode(int nodeType, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, ContextManager cm)
          Get a node that takes ten initializer arguments.
 QueryTreeNode getNode(int nodeType, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, ContextManager cm)
          Get a node that takes eleven initializer arguments.
 QueryTreeNode getNode(int nodeType, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, java.lang.Object arg12, ContextManager cm)
          Get a node that takes twelve initializer arguments.
 QueryTreeNode getNode(int nodeType, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, java.lang.Object arg12, java.lang.Object arg13, ContextManager cm)
          Get a node that takes thirteen initializer arguments.
 QueryTreeNode getNode(int nodeType, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, java.lang.Object arg12, java.lang.Object arg13, java.lang.Object arg14, ContextManager cm)
          Get a node that takes fourteen initializer arguments.
abstract  ResultSetNode mapTableAsVTI(TableDescriptor td, java.lang.String correlationName, ResultColumnList resultColumns, java.util.Properties tableProperties, ContextManager cm)
          Return a correctly configured node that represents a scan from a VTI dervied from the TableDesciptor.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MODULE

public static final java.lang.String MODULE
Module name for the monitor's module locating system.

See Also:
Constant Field Values
Constructor Detail

NodeFactory

public NodeFactory()
Method Detail

doJoinOrderOptimization

public abstract java.lang.Boolean doJoinOrderOptimization()
Tell whether to do join order optimization.

Returns:
Boolean.TRUE means do join order optimization, Boolean.FALSE means don't do it.

getNode

public abstract QueryTreeNode getNode(int nodeType,
                                      ContextManager cm)
                               throws StandardException
Get a node that takes no initializer arguments.

Parameters:
nodeType - Identifier for the type of node.
cm - A ContextManager
Returns:
A new QueryTree node.
Throws:
StandardException - Thrown on error.

getNode

public final QueryTreeNode getNode(int nodeType,
                                   java.lang.Object arg1,
                                   ContextManager cm)
                            throws StandardException
Get a node that takes one initializer argument.

Parameters:
nodeType - Identifier for the type of node.
arg1 - The initializer argument
cm - A ContextManager
Returns:
A new QueryTree node.
Throws:
StandardException - Thrown on error.

getNode

public final QueryTreeNode getNode(int nodeType,
                                   java.lang.Object arg1,
                                   java.lang.Object arg2,
                                   ContextManager cm)
                            throws StandardException
Get a node that takes two initializer arguments.

Parameters:
nodeType - Identifier for the type of node.
arg1 - An initializer argument
arg2 - An initializer argument
cm - A ContextManager
Returns:
A new QueryTree node.
Throws:
StandardException - Thrown on error.

getNode

public final QueryTreeNode getNode(int nodeType,
                                   java.lang.Object arg1,
                                   java.lang.Object arg2,
                                   java.lang.Object arg3,
                                   ContextManager cm)
                            throws StandardException
Get a node that takes three initializer arguments.

Parameters:
nodeType - Identifier for the type of node.
arg1 - An initializer argument
arg2 - An initializer argument
arg3 - An initializer argument
cm - A ContextManager
Returns:
A new QueryTree node.
Throws:
StandardException - Thrown on error.

getNode

public QueryTreeNode getNode(int nodeType,
                             java.lang.Object arg1,
                             java.lang.Object arg2,
                             java.lang.Object arg3,
                             java.lang.Object arg4,
                             ContextManager cm)
                      throws StandardException
Get a node that takes four initializer arguments.

Parameters:
nodeType - Identifier for the type of node.
arg1 - An initializer argument
arg2 - An initializer argument
arg3 - An initializer argument
arg4 - An initializer argument
cm - A ContextManager
Returns:
A new QueryTree node.
Throws:
StandardException - Thrown on error.

getNode

public QueryTreeNode getNode(int nodeType,
                             java.lang.Object arg1,
                             java.lang.Object arg2,
                             java.lang.Object arg3,
                             java.lang.Object arg4,
                             java.lang.Object arg5,
                             ContextManager cm)
                      throws StandardException
Get a node that takes five initializer arguments.

Parameters:
nodeType - Identifier for the type of node.
arg1 - An initializer argument
arg2 - An initializer argument
arg3 - An initializer argument
arg4 - An initializer argument
arg5 - An initializer argument
cm - A ContextManager
Returns:
A new QueryTree node.
Throws:
StandardException - Thrown on error.

getNode

public final QueryTreeNode getNode(int nodeType,
                                   java.lang.Object arg1,
                                   java.lang.Object arg2,
                                   java.lang.Object arg3,
                                   java.lang.Object arg4,
                                   java.lang.Object arg5,
                                   java.lang.Object arg6,
                                   ContextManager cm)
                            throws StandardException
Get a node that takes six initializer arguments.

Parameters:
nodeType - Identifier for the type of node.
arg1 - An initializer argument
arg2 - An initializer argument
arg3 - An initializer argument
arg4 - An initializer argument
arg5 - An initializer argument
arg6 - An initializer argument
cm - A ContextManager
Returns:
A new QueryTree node.
Throws:
StandardException - Thrown on error.

getNode

public final QueryTreeNode getNode(int nodeType,
                                   java.lang.Object arg1,
                                   java.lang.Object arg2,
                                   java.lang.Object arg3,
                                   java.lang.Object arg4,
                                   java.lang.Object arg5,
                                   java.lang.Object arg6,
                                   java.lang.Object arg7,
                                   ContextManager cm)
                            throws StandardException
Get a node that takes seven initializer arguments.

Parameters:
nodeType - Identifier for the type of node.
arg1 - An initializer argument
arg2 - An initializer argument
arg3 - An initializer argument
arg4 - An initializer argument
arg5 - An initializer argument
arg6 - An initializer argument
arg7 - An initializer argument
cm - A ContextManager
Returns:
A new QueryTree node.
Throws:
StandardException - Thrown on error.

getNode

public final QueryTreeNode getNode(int nodeType,
                                   java.lang.Object arg1,
                                   java.lang.Object arg2,
                                   java.lang.Object arg3,
                                   java.lang.Object arg4,
                                   java.lang.Object arg5,
                                   java.lang.Object arg6,
                                   java.lang.Object arg7,
                                   java.lang.Object arg8,
                                   ContextManager cm)
                            throws StandardException
Get a node that takes eight initializer arguments.

Parameters:
nodeType - Identifier for the type of node.
arg1 - An initializer argument
arg2 - An initializer argument
arg3 - An initializer argument
arg4 - An initializer argument
arg5 - An initializer argument
arg6 - An initializer argument
arg7 - An initializer argument
arg8 - An initializer argument
cm - A ContextManager
Returns:
A new QueryTree node.
Throws:
StandardException - Thrown on error.

getNode

public final QueryTreeNode getNode(int nodeType,
                                   java.lang.Object arg1,
                                   java.lang.Object arg2,
                                   java.lang.Object arg3,
                                   java.lang.Object arg4,
                                   java.lang.Object arg5,
                                   java.lang.Object arg6,
                                   java.lang.Object arg7,
                                   java.lang.Object arg8,
                                   java.lang.Object arg9,
                                   ContextManager cm)
                            throws StandardException
Get a node that takes nine initializer arguments.

Parameters:
nodeType - Identifier for the type of node.
arg1 - An initializer argument
arg2 - An initializer argument
arg3 - An initializer argument
arg4 - An initializer argument
arg5 - An initializer argument
arg6 - An initializer argument
arg7 - An initializer argument
arg8 - An initializer argument
arg9 - An initializer argument
cm - A ContextManager
Returns:
A new QueryTree node.
Throws:
StandardException - Thrown on error.

getNode

public final QueryTreeNode getNode(int nodeType,
                                   java.lang.Object arg1,
                                   java.lang.Object arg2,
                                   java.lang.Object arg3,
                                   java.lang.Object arg4,
                                   java.lang.Object arg5,
                                   java.lang.Object arg6,
                                   java.lang.Object arg7,
                                   java.lang.Object arg8,
                                   java.lang.Object arg9,
                                   java.lang.Object arg10,
                                   ContextManager cm)
                            throws StandardException
Get a node that takes ten initializer arguments.

Parameters:
nodeType - Identifier for the type of node.
arg1 - An initializer argument
arg2 - An initializer argument
arg3 - An initializer argument
arg4 - An initializer argument
arg5 - An initializer argument
arg6 - An initializer argument
arg7 - An initializer argument
arg8 - An initializer argument
arg9 - An initializer argument
arg10 - An initializer argument
cm - A ContextManager
Returns:
A new QueryTree node.
Throws:
StandardException - Thrown on error.

getNode

public final QueryTreeNode getNode(int nodeType,
                                   java.lang.Object arg1,
                                   java.lang.Object arg2,
                                   java.lang.Object arg3,
                                   java.lang.Object arg4,
                                   java.lang.Object arg5,
                                   java.lang.Object arg6,
                                   java.lang.Object arg7,
                                   java.lang.Object arg8,
                                   java.lang.Object arg9,
                                   java.lang.Object arg10,
                                   java.lang.Object arg11,
                                   ContextManager cm)
                            throws StandardException
Get a node that takes eleven initializer arguments.

Parameters:
nodeType - Identifier for the type of node.
arg1 - An initializer argument
arg2 - An initializer argument
arg3 - An initializer argument
arg4 - An initializer argument
arg5 - An initializer argument
arg6 - An initializer argument
arg7 - An initializer argument
arg8 - An initializer argument
arg9 - An initializer argument
arg10 - An initializer argument
arg11 - An initializer argument
cm - A ContextManager
Returns:
A new QueryTree node.
Throws:
StandardException - Thrown on error.

getNode

public final QueryTreeNode getNode(int nodeType,
                                   java.lang.Object arg1,
                                   java.lang.Object arg2,
                                   java.lang.Object arg3,
                                   java.lang.Object arg4,
                                   java.lang.Object arg5,
                                   java.lang.Object arg6,
                                   java.lang.Object arg7,
                                   java.lang.Object arg8,
                                   java.lang.Object arg9,
                                   java.lang.Object arg10,
                                   java.lang.Object arg11,
                                   java.lang.Object arg12,
                                   ContextManager cm)
                            throws StandardException
Get a node that takes twelve initializer arguments.

Parameters:
nodeType - Identifier for the type of node.
arg1 - An initializer argument
arg2 - An initializer argument
arg3 - An initializer argument
arg4 - An initializer argument
arg5 - An initializer argument
arg6 - An initializer argument
arg7 - An initializer argument
arg8 - An initializer argument
arg9 - An initializer argument
arg10 - An initializer argument
arg11 - An initializer argument
arg12 - An initializer argument
cm - A ContextManager
Returns:
A new QueryTree node.
Throws:
StandardException - Thrown on error.

getNode

public final QueryTreeNode getNode(int nodeType,
                                   java.lang.Object arg1,
                                   java.lang.Object arg2,
                                   java.lang.Object arg3,
                                   java.lang.Object arg4,
                                   java.lang.Object arg5,
                                   java.lang.Object arg6,
                                   java.lang.Object arg7,
                                   java.lang.Object arg8,
                                   java.lang.Object arg9,
                                   java.lang.Object arg10,
                                   java.lang.Object arg11,
                                   java.lang.Object arg12,
                                   java.lang.Object arg13,
                                   ContextManager cm)
                            throws StandardException
Get a node that takes thirteen initializer arguments.

Parameters:
nodeType - Identifier for the type of node.
arg1 - An initializer argument
arg2 - An initializer argument
arg3 - An initializer argument
arg4 - An initializer argument
arg5 - An initializer argument
arg6 - An initializer argument
arg7 - An initializer argument
arg8 - An initializer argument
arg9 - An initializer argument
arg10 - An initializer argument
arg11 - An initializer argument
arg12 - An initializer argument
arg13 - An initializer argument
cm - A ContextManager
Returns:
A new QueryTree node.
Throws:
StandardException - Thrown on error.

getNode

public final QueryTreeNode getNode(int nodeType,
                                   java.lang.Object arg1,
                                   java.lang.Object arg2,
                                   java.lang.Object arg3,
                                   java.lang.Object arg4,
                                   java.lang.Object arg5,
                                   java.lang.Object arg6,
                                   java.lang.Object arg7,
                                   java.lang.Object arg8,
                                   java.lang.Object arg9,
                                   java.lang.Object arg10,
                                   java.lang.Object arg11,
                                   java.lang.Object arg12,
                                   java.lang.Object arg13,
                                   java.lang.Object arg14,
                                   ContextManager cm)
                            throws StandardException
Get a node that takes fourteen initializer arguments.

Parameters:
nodeType - Identifier for the type of node.
arg1 - An initializer argument
arg2 - An initializer argument
arg3 - An initializer argument
arg4 - An initializer argument
arg5 - An initializer argument
arg6 - An initializer argument
arg7 - An initializer argument
arg8 - An initializer argument
arg9 - An initializer argument
arg10 - An initializer argument
arg11 - An initializer argument
arg12 - An initializer argument
arg13 - An initializer argument
arg14 - An initializer argument
cm - A ContextManager
Returns:
A new QueryTree node.
Throws:
StandardException - Thrown on error.

getCreateAliasNode

public abstract QueryTreeNode getCreateAliasNode(java.lang.Object aliasName,
                                                 java.lang.Object targetName,
                                                 java.lang.Object aliasSpecificInfo,
                                                 char aliasType,
                                                 java.lang.Boolean delimitedIdentifier,
                                                 ContextManager cm)
                                          throws StandardException
Get one of the several types of create alias nodes. Carved out of parser so this could be used by ALTER PUBLICATION.

Parameters:
aliasName - The name of the alias
targetName - The full path/method name
aliasSpecificInfo - The full path of the target method name, if any
aliasType - The type of alias to create
delimitedIdentifier - Whether or not to treat the class name as a delimited identifier if trying to resolve it as a class alias.
cm - A ContextManager
Returns:
A CreateAliasNode matching the given parameters
Throws:
StandardException - Thrown on error

mapTableAsVTI

public abstract ResultSetNode mapTableAsVTI(TableDescriptor td,
                                            java.lang.String correlationName,
                                            ResultColumnList resultColumns,
                                            java.util.Properties tableProperties,
                                            ContextManager cm)
                                     throws StandardException
Return a correctly configured node that represents a scan from a VTI dervied from the TableDesciptor. Used to convert from system diagnostic tables to VTI scans.

Parameters:
td - Table that is really a vti
correlationName - Correlation name of table clause
resultColumns - Columns extracted from table.
tableProperties - Properties being passed onto the table scan
cm - Current context manager
Throws:
StandardException

Built on Thu 2012-03-29 21:53:33+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.