001package gudusoft.gsqlparser.stmt.snowflake;
002
003import gudusoft.gsqlparser.EDbVendor;
004import gudusoft.gsqlparser.ESqlStatementType;
005import gudusoft.gsqlparser.TCustomSqlStatement;
006import gudusoft.gsqlparser.nodes.TDummy;
007import gudusoft.gsqlparser.nodes.TObjectName;
008import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
009
010/**
011 * Snowflake ALTER DYNAMIC TABLE statement.
012 *
013 * Syntax:
014 * ALTER DYNAMIC TABLE [ IF EXISTS ] <name> { SUSPEND | RESUME }
015 * ALTER DYNAMIC TABLE <name> RENAME TO <new_name>
016 * ALTER DYNAMIC TABLE <name> SWAP WITH <target_dt_name>
017 * ALTER DYNAMIC TABLE <name> REFRESH
018 * ALTER DYNAMIC TABLE <name> SET ...
019 */
020public class TAlterDynamicTableStmt extends TCustomSqlStatement {
021
022    private TObjectName tableName;
023
024    public void setTableName(TObjectName tableName) {
025        this.tableName = tableName;
026    }
027
028    public TObjectName getTableName() {
029        return tableName;
030    }
031
032    public TAlterDynamicTableStmt(EDbVendor dbvendor) {
033        super(dbvendor);
034        sqlstatementtype = ESqlStatementType.sstAlterDynamicTable;
035    }
036
037    public int doParseStatement(TCustomSqlStatement psql) {
038        if (rootNode == null) return -1;
039        super.doParseStatement(psql);
040        TDummy node = (TDummy)(rootNode);
041        tableName = (TObjectName)node.node1;
042
043        return 0;
044    }
045
046    public void accept(TParseTreeVisitor v){
047        v.preVisit(this);
048        v.postVisit(this);
049    }
050
051    public void acceptChildren(TParseTreeVisitor v){
052        v.preVisit(this);
053        v.postVisit(this);
054    }
055
056}