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