001package gudusoft.gsqlparser.stmt.teradata; 002 003import gudusoft.gsqlparser.ESqlClause; 004import gudusoft.gsqlparser.TCustomSqlStatement; 005import gudusoft.gsqlparser.EDbVendor; 006import gudusoft.gsqlparser.ESqlStatementType; 007import gudusoft.gsqlparser.nodes.*; 008 009public class TTeradataExecute extends TCustomSqlStatement { 010 011 public TTeradataExecute(EDbVendor dbvendor) { 012 super(dbvendor); 013 sqlstatementtype = ESqlStatementType.sstteradataexecute; 014 } 015 016 private TObjectName macroName; 017 private TExecParameterList parameters; 018 019 public TObjectName getMacroName() { 020 return macroName; 021 } 022 023 024 public TExecParameterList getParameters() { 025 return parameters; 026 } 027 028 public int doParseStatement(TCustomSqlStatement psql) { 029 if (rootNode == null) return -1; 030 super.doParseStatement(psql); 031 TExecuteSqlNode executeSqlNode = (TExecuteSqlNode)rootNode; 032 macroName = executeSqlNode.getModuleName(); 033 parameters = executeSqlNode.getParameters(); 034 035 if (parameters != null){ 036 for(int i=0;i<parameters.size();i++){ 037 parameters.getExecParameter(i).doParse(this,ESqlClause.unknown); 038 } 039 } 040 return 0; 041 } 042 043 public void accept(TParseTreeVisitor v){ 044 v.preVisit(this); 045 v.postVisit(this); 046 } 047 048 public void acceptChildren(TParseTreeVisitor v){ 049 v.preVisit(this); 050 v.postVisit(this); 051 } 052 053 public void setMacroName(TObjectName macroName) { 054 this.macroName = macroName; 055 } 056 057 public void setParameters(TExecParameterList parameters) { 058 this.parameters = parameters; 059 } 060}