org.apache.derby.impl.sql.compile
Class SetSchemaNode

java.lang.Object
  extended by org.apache.derby.impl.sql.compile.QueryTreeNode
      extended by org.apache.derby.impl.sql.compile.StatementNode
          extended by org.apache.derby.impl.sql.compile.MiscellaneousStatementNode
              extended by org.apache.derby.impl.sql.compile.SetSchemaNode
All Implemented Interfaces:
Visitable

public 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
private  java.lang.String name
           
private  int type
           
 
Fields inherited from class org.apache.derby.impl.sql.compile.StatementNode
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_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX, isPrivilegeCollectionRequired
 
Constructor Summary
SetSchemaNode()
           
 
Method Summary
(package private)  int activationKind()
          Returns the type of activation this class generates.
 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.
 void init(java.lang.Object schemaName, java.lang.Object type)
          Initializer for a SetSchemaNode
 ConstantAction makeConstantAction()
          Create the Constant information that will drive the guts of Execution.
 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, getSPSName, isAtomic, lockTableForCompilation, makeResultDescription, optimizeStatement
 
Methods inherited from class org.apache.derby.impl.sql.compile.QueryTreeNode
accept, acceptChildren, bindOffsetFetch, bindRowMultiSet, bindUserType, checkReliability, checkReliability, convertDefaultNode, createTypeDependency, debugFlush, debugPrint, disablePrivilegeCollection, formatNodeString, foundString, generateAuthorizeCheck, getBeginOffset, getClassFactory, getCompilerContext, getContextManager, getCursorInfo, getDataDictionary, getDependencyManager, getEndOffset, getExecutionFactory, getGenericConstantActionFactory, getIntProperty, getLanguageConnectionContext, getNodeFactory, getNodeType, getNullNode, getParameterTypes, getRowEstimate, getSchemaDescriptor, getSchemaDescriptor, getStatementType, getTableDescriptor, getTypeCompiler, init, init, init, init, init, init, init, init, init, init, init, init, init, isInstanceOf, isPrivilegeCollectionRequired, isSessionSchema, isSessionSchema, makeTableName, makeTableName, nodeHeader, orReliability, parseStatement, printLabel, printSubNodes, referencesSessionSchema, resolveTableToSynonym, setBeginOffset, setContextManager, setEndOffset, setNodeType, setRefActionInfo, stackPrint, treePrint, treePrint, verifyClassExist
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

private java.lang.String name

type

private int type
Constructor Detail

SetSchemaNode

public SetSchemaNode()
Method Detail

init

public void init(java.lang.Object schemaName,
                 java.lang.Object type)
Initializer for a SetSchemaNode

Overrides:
init in class QueryTreeNode
Parameters:
schemaName - The name of the new schema
type - Type of schema name could be USER or dynamic parameter

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 class StatementNode
Returns:
This object as a String

statementToString

public java.lang.String statementToString()
Specified by:
statementToString in class StatementNode

makeConstantAction

public ConstantAction makeConstantAction()
                                  throws StandardException
Create the Constant information that will drive the guts of Execution.

Overrides:
makeConstantAction in class QueryTreeNode
Throws:
StandardException - Thrown on failure

generate

public void generate(ActivationClassBuilder acb,
                     MethodBuilder mb)
              throws StandardException
Generate code, need to push parameters

Overrides:
generate in class MiscellaneousStatementNode
Parameters:
acb - The ActivationClassBuilder for the class being built
mb - 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 class MiscellaneousStatementNode
Returns:
NEED_PARAM_ACTIVATION or NEED_NOTHING_ACTIVATION depending on params

Built on Thu 2010-12-23 20:49:13+0000, from revision ???

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