001package gudusoft.gsqlparser.stmt.postgresql; 002 003import gudusoft.gsqlparser.*; 004import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 005import gudusoft.gsqlparser.nodes.TRelationExpr; 006import gudusoft.gsqlparser.nodes.TSelectSqlNode; 007import gudusoft.gsqlparser.nodes.TTable; 008import gudusoft.gsqlparser.stmt.TSelectSqlStatement; 009 010public class TPostgresqlTableStmt extends TCustomSqlStatement { 011 public TPostgresqlTableStmt(EDbVendor dbvendor) { 012 super(dbvendor); 013 sqlstatementtype = ESqlStatementType.sstPostgresqlTable; 014 } 015 016 public String getTableName() { 017 return tableName; 018 } 019 020 private String tableName; 021 022 public int doParseStatement(TCustomSqlStatement psql) { 023 if (rootNode == null) return -1; 024 super.doParseStatement(psql); 025 TSelectSqlNode sqlNode = (TSelectSqlNode)rootNode; 026 TRelationExpr expr = sqlNode.getRelationExpr(); 027 tableName = expr.getRelationName().toString(); 028// for(int i=0;i<this.sourcetokenlist.size();i++){ 029// if (this.sourcetokenlist.get(i).tokencode == TBaseType.rrw_table){ 030// TSourceToken st = this.sourcetokenlist.get(i).nextSolidToken(); 031// if (st != null){ 032// if (st.toString().equalsIgnoreCase("only")){ 033// TSourceToken sst = st.nextSolidToken(); 034// if (sst != null){ 035// tableName = sst.toString(); 036// } 037// }else{ 038// tableName = st.toString(); 039// } 040// } 041// break; 042// } 043// } 044 045 return 0; 046 } 047 public void accept(TParseTreeVisitor v){ 048 v.preVisit(this); 049 v.postVisit(this); 050 } 051 052 public void acceptChildren(TParseTreeVisitor v){ 053 v.preVisit(this); 054 v.postVisit(this); 055 } 056}