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

java.lang.Object
  extended byorg.apache.derby.impl.sql.compile.QueryTreeNode
      extended byorg.apache.derby.impl.sql.compile.StatementNode
          extended byorg.apache.derby.impl.sql.compile.MiscellaneousStatementNode
              extended byorg.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.

Author:
jamie

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_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX, beginOffset, endOffset
 
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 generateParameterHolders(ActivationClassBuilder acb)
           
(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
generate, isAtomic, lockTableForCompilation
 
Methods inherited from class org.apache.derby.impl.sql.compile.QueryTreeNode
accept, bind, convertDefaultNode, debugFlush, debugPrint, executeSchemaName, executeStatementName, formatNodeString, foundString, generateAuthorizeCheck, getBeginOffset, getClassFactory, getCompilerContext, getContextManager, getCursorInfo, getDataDictionary, getDependencyManager, getEndOffset, getExecutionFactory, getGenericConstantActionFactory, getIntProperty, getLanguageConnectionContext, getNodeFactory, getNodeType, getNullNode, getParameterTypes, getRowEstimate, getSchemaDescriptor, getSchemaDescriptor, getSPSName, getStatementType, getTableDescriptor, getTypeCompiler, init, init, init, init, init, init, init, init, init, init, init, init, init, isInstanceOf, isSessionSchema, isSessionSchema, makeResultDescription, makeTableName, nodeHeader, optimize, parseQueryText, printLabel, printSubNodes, referencesSessionSchema, resolveTableToSynonym, setBeginOffset, setContextManager, setEndOffset, setNodeType, setRefActionInfo, 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
Returns:
A compiled expression returning the RepCreatePublicationResultSet
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
Returns:
Nothing
Throws:
StandardException

generateParameterHolders

void generateParameterHolders(ActivationClassBuilder acb)
                        throws StandardException
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 Tue 2006-10-10 19:23:47+0200, from revision exported

Apache Derby V10.1 Engine Documentation - Copyright © 1997,2005 The Apache Software Foundation or its licensors, as applicable.