001package gudusoft.gsqlparser.stmt.snowflake; 002 003import gudusoft.gsqlparser.EDbObjectType; 004import gudusoft.gsqlparser.EDbVendor; 005import gudusoft.gsqlparser.ESqlStatementType; 006import gudusoft.gsqlparser.TCustomSqlStatement; 007import gudusoft.gsqlparser.nodes.TDummy; 008import gudusoft.gsqlparser.nodes.TObjectName; 009import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 010import gudusoft.gsqlparser.nodes.snowflake.TCreatePipeSqlNode; 011 012 013public class TCreatePipeStmt extends TCustomSqlStatement { 014 015 private TObjectName pipeName; 016 017 public void setPipeName(TObjectName pipeName) { 018 this.pipeName = pipeName; 019 } 020 021 public TSnowflakeCopyIntoStmt getCopyIntoStmt() { 022 return copyIntoStmt; 023 } 024 025 public TObjectName getPipeName() { 026 027 return pipeName; 028 } 029 030 public TCreatePipeStmt(EDbVendor dbvendor) { 031 super(dbvendor); 032 sqlstatementtype = ESqlStatementType.sstCreatePipe; 033 } 034 035 private TSnowflakeCopyIntoStmt copyIntoStmt; 036 037 public int doParseStatement(TCustomSqlStatement psql) { 038 if (rootNode == null) return -1; 039 super.doParseStatement(psql); 040 TCreatePipeSqlNode node = (TCreatePipeSqlNode)rootNode; 041 pipeName = node.getPipeName(); 042 pipeName.setDbObjectType(EDbObjectType.pipe); 043 copyIntoStmt = new TSnowflakeCopyIntoStmt(this.dbvendor); 044 copyIntoStmt.rootNode = node.getCopyIntoNode(); 045 copyIntoStmt.doParseStatement(this); 046 047 return 0; 048 } 049 050 public void accept(TParseTreeVisitor v){ 051 v.preVisit(this); 052 v.postVisit(this); 053 } 054 055 public void acceptChildren(TParseTreeVisitor v){ 056 v.preVisit(this); 057 v.postVisit(this); 058 } 059}