001package gudusoft.gsqlparser.stmt.snowflake;
002
003import gudusoft.gsqlparser.*;
004import gudusoft.gsqlparser.nodes.TObjectName;
005import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
006import gudusoft.gsqlparser.nodes.TStatementSqlNode;
007import gudusoft.gsqlparser.nodes.snowflake.TCreateTaskSqlNode;
008import gudusoft.gsqlparser.nodes.snowflake.TTaskOption;
009
010import java.util.ArrayList;
011
012public class TCreateTaskStmt  extends TCustomSqlStatement {
013    public TCreateTaskStmt(EDbVendor dbvendor) {
014        super(dbvendor);
015        sqlstatementtype = ESqlStatementType.sstCreateTask;
016    }
017
018    private TCustomSqlStatement sqlStatement;
019
020    public TCustomSqlStatement getSqlStatement() {
021        return sqlStatement;
022    }
023
024    private TObjectName taskName;
025
026    public TObjectName getTaskName() {
027        return taskName;
028    }
029
030    private ArrayList<TTaskOption> taskOptionList;
031
032    public ArrayList<TTaskOption> getTaskOptionList() {
033        return taskOptionList;
034    }
035
036    public int doParseStatement(TCustomSqlStatement psql) {
037        if (rootNode == null) return -1;
038        super.doParseStatement(psql);
039        TCreateTaskSqlNode node = (TCreateTaskSqlNode)rootNode;
040        taskName = node.getTaskName();
041        taskName.setDbObjectType(EDbObjectType.task);
042
043        TStatementSqlNode sqlNode = node.getSqlNode();
044        sqlNode.doParse(this,ESqlClause.unknown);
045        this.sqlStatement = sqlNode.getStmt();
046        this.taskOptionList = node.getTaskOptionList();
047
048        return 0;
049    }
050
051    public void accept(TParseTreeVisitor v){
052        v.preVisit(this);
053        v.postVisit(this);
054    }
055
056    public void acceptChildren(TParseTreeVisitor v){
057        v.preVisit(this);
058        v.postVisit(this);
059    }
060}