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.TCreateAccessPolicySqlNode; 012 013 014public class TCreateAccessPolicy extends TCustomSqlStatement { 015 016 private TObjectName tableName; 017 private TObjectName columnName; 018 private TExpression expr; 019 020 public TCreateAccessPolicy(EDbVendor dbvendor) { 021 super(dbvendor); 022 sqlstatementtype = ESqlStatementType.sstCreateAccessPolicy; 023 } 024 025 public TObjectName getTableName() { 026 return tableName; 027 } 028 029 public TObjectName getColumnName() { 030 return columnName; 031 } 032 033 public TExpression getExpr() { 034 return expr; 035 } 036 037 public int doParseStatement(TCustomSqlStatement psql) { 038 if (rootNode == null) return -1; 039 super.doParseStatement(psql); 040 TCreateAccessPolicySqlNode node = (TCreateAccessPolicySqlNode)(rootNode); 041 042 tableName = node.getTableName(); 043 columnName = node.getColumnName(); 044 expr = node.getExpr(); 045 if (expr != null){ 046 expr.doParse(this, ESqlClause.unknown); 047 } 048 049 return 0; 050 } 051 052 public void accept(TParseTreeVisitor v){ 053 v.preVisit(this); 054 v.postVisit(this); 055 } 056 057 public void acceptChildren(TParseTreeVisitor v){ 058 v.preVisit(this); 059 v.postVisit(this); 060 } 061}