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}