Search in sources :

Example 6 with ColRef

use of com.qlangtech.tis.sql.parser.tuple.creator.impl.ColRef in project tis by qlangtech.

the class SqlTaskNode method parse.

public TableTupleCreator parse(boolean parseAllRefTab) {
    if (tupleCterator != null) {
        return this.tupleCterator;
    }
    this.tupleCterator = new TableTupleCreator(this.exportName.getTabName(), nodetype);
    tupleCterator.setRealEntityName(this.exportName);
    try {
        Query query = parseQuery(this.getContent());
        StreamTransformVisitor v = new StreamTransformVisitor(this.dumpNodesContext);
        query.accept(v, new StackableAstVisitorContext<>(1));
        ColRef colsRefs = v.getColsRef();
        tupleCterator.setColsRefs(colsRefs);
        // TaskNode 識別
        if (parseAllRefTab) {
            for (Map.Entry<String, IDataTupleCreator> /**
             * ref
             */
            entry : colsRefs.getBaseRefEntities()) {
                entry.getValue().accept(taskNodeRecognizedVisitor);
            }
        }
        return tupleCterator;
    } catch (Exception e) {
        throw new RuntimeException("exportName:" + this.exportName, e);
    }
}
Also used : ColRef(com.qlangtech.tis.sql.parser.tuple.creator.impl.ColRef) StreamTransformVisitor(com.qlangtech.tis.sql.parser.visitor.StreamTransformVisitor) IDataTupleCreator(com.qlangtech.tis.sql.parser.tuple.creator.IDataTupleCreator) TableTupleCreator(com.qlangtech.tis.sql.parser.tuple.creator.impl.TableTupleCreator) Query(com.facebook.presto.sql.tree.Query) Map(java.util.Map)

Aggregations

ColRef (com.qlangtech.tis.sql.parser.tuple.creator.impl.ColRef)6 IDataTupleCreator (com.qlangtech.tis.sql.parser.tuple.creator.IDataTupleCreator)5 FunctionDataTupleCreator (com.qlangtech.tis.sql.parser.tuple.creator.impl.FunctionDataTupleCreator)3 TableTupleCreator (com.qlangtech.tis.sql.parser.tuple.creator.impl.TableTupleCreator)3 Query (com.facebook.presto.sql.tree.Query)2 NodeProcessResult (com.qlangtech.tis.sql.parser.NodeProcessResult)2 StreamTransformVisitor (com.qlangtech.tis.sql.parser.visitor.StreamTransformVisitor)2 Map (java.util.Map)2 ColumnMetaData (com.qlangtech.tis.plugin.ds.ColumnMetaData)1 DataType (com.qlangtech.tis.plugin.ds.DataType)1 ColName (com.qlangtech.tis.sql.parser.ColName)1 TisGroupBy (com.qlangtech.tis.sql.parser.TisGroupBy)1 TisGroup (com.qlangtech.tis.sql.parser.TisGroupBy.TisGroup)1