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}