001package gudusoft.gsqlparser.stmt.netezza; 002/* 003 * Date: 13-11-25 004 */ 005 006import gudusoft.gsqlparser.EDbVendor; 007import gudusoft.gsqlparser.ESqlStatementType; 008import gudusoft.gsqlparser.TCustomSqlStatement; 009import gudusoft.gsqlparser.nodes.TObjectName; 010import gudusoft.gsqlparser.nodes.TObjectNameList; 011import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 012import gudusoft.gsqlparser.nodes.netezza.TGenerateStatisticsSqlNode; 013 014/** 015 * netezza generate [express] statistics statement 016 */ 017public class TNetezzaGenerateStatistics extends TCustomSqlStatement { 018 019 private TObjectName tableName; 020 private TObjectNameList columns; 021 private boolean express; 022 023 public boolean isExpress() { 024 return express; 025 } 026 027 public TObjectNameList getColumns() { 028 return columns; 029 } 030 031 public TObjectName getTableName() { 032 return tableName; 033 } 034 035 public TNetezzaGenerateStatistics(EDbVendor dbvendor) { 036 super(dbvendor); 037 sqlstatementtype = ESqlStatementType.sstnetezzaGenerateStatistics; 038 } 039 040 public int doParseStatement(TCustomSqlStatement psql) { 041 if (rootNode == null) return -1; 042 super.doParseStatement(psql); 043 TGenerateStatisticsSqlNode sqlNode = (TGenerateStatisticsSqlNode)rootNode; 044 tableName = sqlNode.getTableName(); 045 columns = sqlNode.getColumns(); 046 express = sqlNode.isExpress(); 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 062 public void setTableName(TObjectName tableName) { 063 this.tableName = tableName; 064 } 065 066 public void setColumns(TObjectNameList columns) { 067 this.columns = columns; 068 } 069 070 public void setExpress(boolean express) { 071 this.express = express; 072 } 073}