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}