001package gudusoft.gsqlparser.stmt.vertica;
002
003
004import gudusoft.gsqlparser.EDbVendor;
005import gudusoft.gsqlparser.ESqlClause;
006import gudusoft.gsqlparser.ESqlStatementType;
007import gudusoft.gsqlparser.TCustomSqlStatement;
008import gudusoft.gsqlparser.nodes.TExpression;
009import gudusoft.gsqlparser.nodes.TObjectName;
010import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
011import gudusoft.gsqlparser.nodes.vertica.TAlterAccessPolicySqlNode;
012
013public class TAlterAccessPolicy extends TCustomSqlStatement {
014
015    private TObjectName tableName;
016    private TObjectName columnName;
017    private TExpression expr;
018
019    public TAlterAccessPolicy(EDbVendor dbvendor) {
020        super(dbvendor);
021        sqlstatementtype = ESqlStatementType.sstAlterAccessPolicy;
022    }
023
024    public int doParseStatement(TCustomSqlStatement psql) {
025        if (rootNode == null) return -1;
026        super.doParseStatement(psql);
027        TAlterAccessPolicySqlNode node = (TAlterAccessPolicySqlNode)(rootNode);
028
029        tableName = node.getTableName();
030        columnName = node.getColumnName();
031        expr = node.getExpr();
032        if (expr != null){
033            expr.doParse(this, ESqlClause.unknown);
034        }
035
036        return 0;
037    }
038
039    public void accept(TParseTreeVisitor v){
040        v.preVisit(this);
041        v.postVisit(this);
042    }
043
044    public void acceptChildren(TParseTreeVisitor v){
045        v.preVisit(this);
046        v.postVisit(this);
047    }
048}