001package gudusoft.gsqlparser.stmt; 002 003 004import gudusoft.gsqlparser.*; 005import gudusoft.gsqlparser.nodes.TDescribeSqlNode; 006import gudusoft.gsqlparser.nodes.TObjectName; 007import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 008 009public class TDescribeStmt extends TCustomSqlStatement { 010 011 private TObjectName dbObjectName; 012 private EDbObjectType dbObjectType; 013 014 public TObjectName getDbObjectName() { 015 return dbObjectName; 016 } 017 018 public EDbObjectType getDbObjectType() { 019 return dbObjectType; 020 } 021 022 public TObjectName getColumnName() { 023 return describeSqlNode.getColumnName(); 024 } 025 026 public TSourceToken getDescToken() { 027 return describeSqlNode.getDescToken(); 028 } 029 030 public TObjectName getTableName() { 031 return describeSqlNode.getTableName(); 032 } 033 034 public TDescribeStmt(EDbVendor dbvendor) { 035 super(dbvendor); 036 sqlstatementtype = ESqlStatementType.sstdescribe; 037 } 038 039 TDescribeSqlNode describeSqlNode; 040 041 public int doParseStatement(TCustomSqlStatement psql) { 042 if (rootNode == null) return -1; 043 super.doParseStatement(psql); 044 describeSqlNode = (TDescribeSqlNode)rootNode; 045 dbObjectName = describeSqlNode.getDbObjectName(); 046 dbObjectType = describeSqlNode.getDbObjectType(); 047 048 return 0; 049 } 050 051 public void accept(TParseTreeVisitor v){ 052 v.preVisit(this); 053 v.postVisit(this); 054 } 055 056 public void acceptChildren(TParseTreeVisitor v){ 057 v.preVisit(this); 058 v.postVisit(this); 059 } 060 061}