Class CreateViewNode
- java.lang.Object
-
- org.apache.derby.impl.sql.compile.QueryTreeNode
-
- org.apache.derby.impl.sql.compile.StatementNode
-
- org.apache.derby.impl.sql.compile.DDLStatementNode
-
- org.apache.derby.impl.sql.compile.CreateViewNode
-
- All Implemented Interfaces:
Visitable
class CreateViewNode extends DDLStatementNode
A CreateViewNode is the root of a QueryTree that represents a CREATE VIEW statement.
-
-
Field Summary
Fields Modifier and Type Field Description private intcheckOptionprivate ColumnInfo[]colInfosprivate ValueNodefetchFirstprivate booleanhasJDBClimitClauseprivate ValueNodeoffsetprivate OrderByListorderByListprivate ProviderInfo[]providerInfosprivate java.lang.StringqeTextprivate ResultSetNodequeryExpressionprivate ResultColumnListresultColumns-
Fields inherited from class org.apache.derby.impl.sql.compile.DDLStatementNode
ADD_TYPE, DROP_STATISTICS, DROP_TYPE, implicitCreateSchema, LOCKING_TYPE, MODIFY_TYPE, UNKNOWN_TYPE, UPDATE_STATISTICS
-
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 CreateViewNode(TableName viewName, ResultColumnList resultColumns, ResultSetNode queryExpression, int checkOption, java.lang.String qeText, OrderByList orderCols, ValueNode offset, ValueNode fetchFirst, boolean hasJDBClimitClause, ContextManager cm)Constructor for a CreateViewNode
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidacceptChildren(Visitor v)Accept the visitor for all visitable children of this node.voidbindStatement()Bind this CreateViewNode.private ProviderInfo[]bindViewDefinition(DataDictionary dataDictionary, CompilerContext compilerContext, LanguageConnectionContext lcc, OptimizerFactory optimizerFactory, ResultSetNode queryExpr, ContextManager cm)Bind the query expression for a view definition.private voidgenColumnInfos(ColumnInfo[] colInfos)Fill in the ColumnInfo[] for this create view.ValueNodegetFetchFirst()ValueNodegetOffset()OrderByListgetOrderByList()(package private) ResultSetNodegetParsedQueryExpression()Get the parsed query expression (the SELECT statement).booleanhasJDBClimitClause()ConstantActionmakeConstantAction()Create the Constant information that will drive the guts of Execution.(package private) voidprintSubNodes(int depth)Prints the sub-nodes of this object.booleanreferencesSessionSchema()Return true if the node references SESSION schema tables (temporary or permanent)(package private) java.lang.StringstatementToString()java.lang.StringtoString()Convert this object to a String.-
Methods inherited from class org.apache.derby.impl.sql.compile.DDLStatementNode
activationKind, generate, getFullName, getObjectName, getRelativeName, getSchemaDescriptor, getSchemaDescriptor, getTableDescriptor, getTableDescriptor, getTableDescriptor, getTableDescriptor, initAndCheck, isAtomic, makeFromList
-
Methods inherited from class org.apache.derby.impl.sql.compile.StatementNode
executeSchemaName, executeStatementName, generate, getCursorInfo, getSPSName, lockTableForCompilation, makeResultDescription, needsSavepoint, optimizeStatement, updateIndexStatisticsFor
-
Methods inherited from class org.apache.derby.impl.sql.compile.QueryTreeNode
accept, 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, resolveTableToSynonym, setBeginOffset, setEndOffset, setRefActionInfo, stackPrint, taggedWith, treePrint, treePrint, verifyClassExist
-
-
-
-
Field Detail
-
resultColumns
private ResultColumnList resultColumns
-
queryExpression
private ResultSetNode queryExpression
-
qeText
private java.lang.String qeText
-
checkOption
private int checkOption
-
providerInfos
private ProviderInfo[] providerInfos
-
colInfos
private ColumnInfo[] colInfos
-
orderByList
private OrderByList orderByList
-
offset
private ValueNode offset
-
fetchFirst
private ValueNode fetchFirst
-
hasJDBClimitClause
private boolean hasJDBClimitClause
-
-
Constructor Detail
-
CreateViewNode
CreateViewNode(TableName viewName, ResultColumnList resultColumns, ResultSetNode queryExpression, int checkOption, java.lang.String qeText, OrderByList orderCols, ValueNode offset, ValueNode fetchFirst, boolean hasJDBClimitClause, ContextManager cm) throws StandardException
Constructor for a CreateViewNode- Parameters:
viewName- The name of the table to be createdresultColumns- The column list from the view definition, if specifiedqueryExpression- The query expression for the viewcheckOption- The type of WITH CHECK OPTION that was specified (NONE for now)qeText- The text for the queryExpressionorderCols- ORDER BY listoffset- OFFSET if any, or nullfetchFirst- FETCH FIRST if any, or nullhasJDBClimitClause- True if the offset/fetchFirst clauses come from JDBC limit/offset escape syntaxcm- Context manager- Throws:
StandardException- Thrown on error
-
-
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:
toStringin classDDLStatementNode- Returns:
- This object as a String
-
statementToString
java.lang.String statementToString()
- Specified by:
statementToStringin classStatementNode
-
printSubNodes
void printSubNodes(int depth)
Prints the sub-nodes of this object. See QueryTreeNode.java for how tree printing is supposed to work.- Overrides:
printSubNodesin classQueryTreeNode- Parameters:
depth- The depth of this node in the tree
-
bindStatement
public void bindStatement() throws StandardExceptionBind this CreateViewNode. This means doing any static error checking that can be done before actually creating the table. For example, verifying that the ResultColumnList does not contain any duplicate column names.- Overrides:
bindStatementin classStatementNode- Throws:
StandardException- Thrown on error
-
bindViewDefinition
private ProviderInfo[] bindViewDefinition(DataDictionary dataDictionary, CompilerContext compilerContext, LanguageConnectionContext lcc, OptimizerFactory optimizerFactory, ResultSetNode queryExpr, ContextManager cm) throws StandardException
Bind the query expression for a view definition.- Parameters:
dataDictionary- The DataDictionary to use to look up columns, tables, etc.- Returns:
- Array of providers that this view depends on.
- Throws:
StandardException- Thrown on error
-
referencesSessionSchema
public boolean referencesSessionSchema() throws StandardExceptionReturn true if the node references SESSION schema tables (temporary or permanent)- Overrides:
referencesSessionSchemain classQueryTreeNode- Returns:
- true if references SESSION schema tables, else false
- Throws:
StandardException- Thrown on error
-
makeConstantAction
public ConstantAction makeConstantAction() throws StandardException
Create the Constant information that will drive the guts of Execution.- Overrides:
makeConstantActionin classQueryTreeNode- Throws:
StandardException- Thrown on failure
-
genColumnInfos
private void genColumnInfos(ColumnInfo[] colInfos)
Fill in the ColumnInfo[] for this create view.- Parameters:
colInfos- The ColumnInfo[] to be filled in.
-
getParsedQueryExpression
ResultSetNode getParsedQueryExpression()
Get the parsed query expression (the SELECT statement).- Returns:
- the parsed query expression.
-
acceptChildren
void acceptChildren(Visitor v) throws StandardException
Accept the visitor for all visitable children of this node.- Overrides:
acceptChildrenin classDDLStatementNode- Parameters:
v- the visitor- Throws:
StandardException- on error
-
getOrderByList
public OrderByList getOrderByList()
-
getOffset
public ValueNode getOffset()
-
getFetchFirst
public ValueNode getFetchFirst()
-
hasJDBClimitClause
public boolean hasJDBClimitClause()
-
-