001package gudusoft.gsqlparser.stmt.snowflake; 002 003import gudusoft.gsqlparser.EDbVendor; 004import gudusoft.gsqlparser.ESqlClause; 005import gudusoft.gsqlparser.ESqlStatementType; 006import gudusoft.gsqlparser.TCustomSqlStatement; 007import gudusoft.gsqlparser.nodes.TCreateTableOption; 008import gudusoft.gsqlparser.nodes.TDummy; 009import gudusoft.gsqlparser.nodes.TObjectName; 010import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 011 012import java.util.ArrayList; 013 014 015public class TAlterStageStmt extends TCustomSqlStatement { 016 017 private TObjectName stageName; 018 private TObjectName newStageName; 019 private String externalStageURL = null; 020 private String fileFormatName = null; 021 private String fileFormatType = null; 022 023 public void setStageName(TObjectName stageName) { 024 this.stageName = stageName; 025 } 026 027 public TObjectName getStageName() { 028 return stageName; 029 } 030 031 public void setNewStageName(TObjectName newStageName) { 032 this.newStageName = newStageName; 033 } 034 035 public TObjectName getNewStageName() { 036 return newStageName; 037 } 038 039 public String getExternalStageURL() { 040 return externalStageURL; 041 } 042 043 public void setExternalStageURL(String externalStageURL) { 044 this.externalStageURL = externalStageURL; 045 } 046 047 public String getFileFormatName() { 048 return fileFormatName; 049 } 050 051 public void setFileFormatName(String fileFormatName) { 052 this.fileFormatName = fileFormatName; 053 } 054 055 public String getFileFormatType() { 056 return fileFormatType; 057 } 058 059 public void setFileFormatType(String fileFormatType) { 060 this.fileFormatType = fileFormatType; 061 } 062 063 public TAlterStageStmt(EDbVendor dbvendor) { 064 super(dbvendor); 065 sqlstatementtype = ESqlStatementType.sstAlterStage; 066 } 067 068 public int doParseStatement(TCustomSqlStatement psql) { 069 if (rootNode == null) return -1; 070 super.doParseStatement(psql); 071 TDummy node = (TDummy)(rootNode); 072 stageName = (TObjectName)node.node1; 073 newStageName = (TObjectName)node.node2; 074 075 ArrayList<TCreateTableOption> tableOptions = node.tableOptions; 076 if (tableOptions != null){ 077 for(int i=0;i<tableOptions.size();i++){ 078 tableOptions.get(i).doParse(this, ESqlClause.unknown); 079 } 080 } 081 082 return 0; 083 } 084 085 public void accept(TParseTreeVisitor v){ 086 v.preVisit(this); 087 v.postVisit(this); 088 } 089 090 public void acceptChildren(TParseTreeVisitor v){ 091 v.preVisit(this); 092 v.postVisit(this); 093 } 094 095}