Class CreateViewNode

All Implemented Interfaces:
Visitable

class CreateViewNode extends DDLStatementNode
A CreateViewNode is the root of a QueryTree that represents a CREATE VIEW statement.
  • Field Details

    • resultColumns

      private ResultColumnList resultColumns
    • queryExpression

      private ResultSetNode queryExpression
    • qeText

      private 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 Details

    • CreateViewNode

      CreateViewNode(TableName viewName, ResultColumnList resultColumns, ResultSetNode queryExpression, int checkOption, 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 created
      resultColumns - The column list from the view definition, if specified
      queryExpression - The query expression for the view
      checkOption - The type of WITH CHECK OPTION that was specified (NONE for now)
      qeText - The text for the queryExpression
      orderCols - ORDER BY list
      offset - OFFSET if any, or null
      fetchFirst - FETCH FIRST if any, or null
      hasJDBClimitClause - True if the offset/fetchFirst clauses come from JDBC limit/offset escape syntax
      cm - Context manager
      Throws:
      StandardException - Thrown on error
  • Method Details

    • toString

      public 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 DDLStatementNode
      Returns:
      This object as a String
    • statementToString

      String statementToString()
      Specified by:
      statementToString in class StatementNode
    • 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 class QueryTreeNode
      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 class StatementNode
      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 class QueryTreeNode
      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 class QueryTreeNode
      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 class DDLStatementNode
      Parameters:
      v - the visitor
      Throws:
      StandardException - on error
    • getOrderByList

      public OrderByList getOrderByList()
    • getOffset

      public ValueNode getOffset()
    • getFetchFirst

      public ValueNode getFetchFirst()
    • hasJDBClimitClause

      public boolean hasJDBClimitClause()