protected AstNode parseMaterializedViewStatement( DdlTokenStream tokens,
                                                      AstNode parentNode ) throws ParsingException {
        assert tokens != null;
        assert parentNode != null;

        markStartOfStatement(tokens);

        /* ----------------------------------------------------------------------
            CREATE MATERIALIZED VIEW
              [ schema. ]materialized_view
              [ column_alias [, column_alias]... ]
              [ OF [ schema. ]object_type ] .................... (MORE...)

            EXAMPLES:
            
                CREATE MATERIALIZED VIEW LOG ON products
                   WITH ROWID, SEQUENCE (prod_id)
                   INCLUDING NEW VALUES;
                
                CREATE MATERIALIZED VIEW sales_mv
                   BUILD IMMEDIATE
                   REFRESH FAST ON COMMIT
                   AS SELECT t.calendar_year, p.prod_id, 
                      SUM(s.amount_sold) AS sum_sales
                      FROM times t, products p, sales s
                      WHERE t.time_id = s.time_id AND p.prod_id = s.prod_id
                      GROUP BY t.calendar_year, p.prod_id;
        ---------------------------------------------------------------------- */

        boolean isLog = tokens.canConsume(STMT_CREATE_MATERIALIZED_VEIW_LOG);

        tokens.canConsume(STMT_CREATE_MATERIALIZED_VIEW);

        String name = parseName(tokens);

        AstNode node = null;

        if (isLog) {
            node = nodeFactory().node(name, parentNode, TYPE_CREATE_MATERIALIZED_VIEW_LOG_STATEMENT);
        } else {
            node = nodeFactory().node(name, parentNode, TYPE_CREATE_MATERIALIZED_VIEW_STATEMENT);
        }

        parseUntilTerminator(tokens);

        markEndOfStatement(tokens, node);

        return node;
    }
protected AstNode parseMaterializedViewStatement ( DdlTokenStream tokens , AstNode parentNode ) throws ParsingException { assert tokens != null ; assert parentNode != null ; markStartOfStatement ( tokens ) ; boolean isLog = tokens . canConsume ( STMT_CREATE_MATERIALIZED_VEIW_LOG ) ; tokens . canConsume ( STMT_CREATE_MATERIALIZED_VIEW ) ; String name = parseName ( tokens ) ; AstNode node = null ; if ( isLog ) { node = nodeFactory ( ) . node ( name , parentNode , TYPE_CREATE_MATERIALIZED_VIEW_LOG_STATEMENT ) ; } else { node = nodeFactory ( ) . node ( name , parentNode , TYPE_CREATE_MATERIALIZED_VIEW_STATEMENT ) ; } parseUntilTerminator ( tokens ) ; markEndOfStatement ( tokens , node ) ; return node ; }
Parses DDL CREATE MATERIALIZED VIEW statement This could either be a standard view or a VIEW LOG ON statement.

@param tokens the tokenized {@link DdlTokenStream} of the DDL input content; may not be null
@param parentNode the parent {@link AstNode} node; may not be null
@return the parsed CREATE MATERIALIZED VIEW statement node
@throws ParsingException