Class SetSchemaNode
- java.lang.Object
-
- org.apache.derby.impl.sql.compile.QueryTreeNode
-
- org.apache.derby.impl.sql.compile.StatementNode
-
- org.apache.derby.impl.sql.compile.MiscellaneousStatementNode
-
- org.apache.derby.impl.sql.compile.SetSchemaNode
-
- All Implemented Interfaces:
Visitable
class SetSchemaNode extends MiscellaneousStatementNode
A SetSchemaNode is the root of a QueryTree that represents a SET SCHEMA statement. It isn't replicated, but it generates a ConstantAction because it is basically easier than generating the code from scratch.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
name
private int
type
-
Fields inherited from class org.apache.derby.impl.sql.compile.StatementNode
EMPTY_TD_LIST, NEED_CURSOR_ACTIVATION, NEED_DDL_ACTIVATION, NEED_NOTHING_ACTIVATION, NEED_PARAM_ACTIVATION, NEED_ROW_ACTIVATION
-
Fields inherited from class org.apache.derby.impl.sql.compile.QueryTreeNode
AUTOINCREMENT_CREATE_MODIFY, AUTOINCREMENT_CYCLE, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX
-
-
Constructor Summary
Constructors Constructor Description SetSchemaNode(java.lang.String schemaName, int type, ContextManager cm)
Constructor for a SetSchemaNode
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) int
activationKind()
Returns the type of activation this class generates.(package private) void
generate(ActivationClassBuilder acb, MethodBuilder mb)
Generate code, need to push parameters(package private) void
generateParameterValueSet(ActivationClassBuilder acb)
Generate the code to create the ParameterValueSet, if necessary, when constructing the activation.ConstantAction
makeConstantAction()
Create the Constant information that will drive the guts of Execution.(package private) java.lang.String
statementToString()
java.lang.String
toString()
Convert this object to a String.-
Methods inherited from class org.apache.derby.impl.sql.compile.MiscellaneousStatementNode
needsSavepoint
-
Methods inherited from class org.apache.derby.impl.sql.compile.StatementNode
bindStatement, executeSchemaName, executeStatementName, generate, getCursorInfo, getSPSName, isAtomic, lockTableForCompilation, makeResultDescription, optimizeStatement, updateIndexStatisticsFor
-
Methods inherited from class org.apache.derby.impl.sql.compile.QueryTreeNode
accept, acceptChildren, addTag, addUDTUsagePriv, addUDTUsagePriv, bindOffsetFetch, bindRowMultiSet, bindUserCatalogType, bindUserType, checkReliability, checkReliability, convertDefaultNode, copyTagsFrom, createTypeDependency, debugFlush, debugPrint, disablePrivilegeCollection, formatNodeString, generateAuthorizeCheck, getBeginOffset, getClassFactory, getCompilerContext, getContext, getContextManager, getDataDictionary, getDependencyManager, getEndOffset, getExecutionFactory, getGenericConstantActionFactory, getIntProperty, getLanguageConnectionContext, getLongProperty, getNullNode, getOffsetOrderedNodes, getOptimizerFactory, getOptimizerTracer, getParameterTypes, getSchemaDescriptor, getSchemaDescriptor, getStatementType, getTableDescriptor, getTypeCompiler, getUDTDesc, isPrivilegeCollectionRequired, isSessionSchema, isSessionSchema, makeTableName, makeTableName, nodeHeader, optimizerTracingIsOn, orReliability, parseSearchCondition, parseStatement, printLabel, printSubNodes, referencesSessionSchema, resolveTableToSynonym, setBeginOffset, setEndOffset, setRefActionInfo, stackPrint, taggedWith, treePrint, treePrint, verifyClassExist
-
-
-
-
Constructor Detail
-
SetSchemaNode
SetSchemaNode(java.lang.String schemaName, int type, ContextManager cm)
Constructor for a SetSchemaNode- Parameters:
schemaName
- The name of the new schematype
- Type of schema name could be USER or dynamic parametercm
- The context manager
-
-
Method Detail
-
toString
public java.lang.String toString()
Convert this object to a String. See comments in QueryTreeNode.java for how this should be done for tree printing.- Overrides:
toString
in classStatementNode
- Returns:
- This object as a String
-
statementToString
java.lang.String statementToString()
- Specified by:
statementToString
in classStatementNode
-
makeConstantAction
public ConstantAction makeConstantAction() throws StandardException
Create the Constant information that will drive the guts of Execution.- Overrides:
makeConstantAction
in classQueryTreeNode
- Throws:
StandardException
- Thrown on failure
-
generate
void generate(ActivationClassBuilder acb, MethodBuilder mb) throws StandardException
Generate code, need to push parameters- Overrides:
generate
in classMiscellaneousStatementNode
- Parameters:
acb
- The ActivationClassBuilder for the class being builtmb
- the method for the execute() method to be built- Throws:
StandardException
- Thrown on error
-
generateParameterValueSet
void generateParameterValueSet(ActivationClassBuilder acb) throws StandardException
Generate the code to create the ParameterValueSet, if necessary, when constructing the activation. Also generate the code to call a method that will throw an exception if we try to execute without all the parameters being set.- Parameters:
acb
- The ActivationClassBuilder for the class we're building- Throws:
StandardException
-
activationKind
int activationKind()
Returns the type of activation this class generates.- Overrides:
activationKind
in classMiscellaneousStatementNode
- Returns:
- NEED_PARAM_ACTIVATION or NEED_NOTHING_ACTIVATION depending on params
-
-