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 int
checkOption
private ColumnInfo[]
colInfos
private ValueNode
fetchFirst
private boolean
hasJDBClimitClause
private ValueNode
offset
private OrderByList
orderByList
private ProviderInfo[]
providerInfos
private java.lang.String
qeText
private ResultSetNode
queryExpression
private ResultColumnList
resultColumns
-
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) void
acceptChildren(Visitor v)
Accept the visitor for all visitable children of this node.void
bindStatement()
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 void
genColumnInfos(ColumnInfo[] colInfos)
Fill in the ColumnInfo[] for this create view.ValueNode
getFetchFirst()
ValueNode
getOffset()
OrderByList
getOrderByList()
(package private) ResultSetNode
getParsedQueryExpression()
Get the parsed query expression (the SELECT statement).boolean
hasJDBClimitClause()
ConstantAction
makeConstantAction()
Create the Constant information that will drive the guts of Execution.(package private) void
printSubNodes(int depth)
Prints the sub-nodes of this object.boolean
referencesSessionSchema()
Return true if the node references SESSION schema tables (temporary or permanent)(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.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:
toString
in classDDLStatementNode
- Returns:
- This object as a String
-
statementToString
java.lang.String statementToString()
- Specified by:
statementToString
in 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:
printSubNodes
in classQueryTreeNode
- Parameters:
depth
- The depth of this node in the tree
-
bindStatement
public void bindStatement() throws StandardException
Bind 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:
bindStatement
in 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 StandardException
Return true if the node references SESSION schema tables (temporary or permanent)- Overrides:
referencesSessionSchema
in 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:
makeConstantAction
in 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:
acceptChildren
in 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()
-
-