001package gudusoft.gsqlparser.stmt; 002 003import gudusoft.gsqlparser.EDbVendor; 004import gudusoft.gsqlparser.ESqlStatementType; 005import gudusoft.gsqlparser.TCustomSqlStatement; 006import gudusoft.gsqlparser.TSourceToken; 007import gudusoft.gsqlparser.nodes.*; 008 009public class TDropSchemaSqlStatement extends TCustomSqlStatement { 010 011 private TObjectName schemaName; 012 private TSourceToken dropBehavior; 013 private TObjectNameList schemaNameList; 014 015 public TObjectNameList getSchemaNameList() { 016 return schemaNameList; 017 } 018 019 public TDropSchemaSqlStatement(EDbVendor dbvendor) { 020 super(dbvendor); 021 sqlstatementtype = ESqlStatementType.sstdropschema; 022 } 023 024 public TObjectName getSchemaName() { 025 return schemaName; 026 } 027 028 public TSourceToken getDropBehavior() { 029 return dropBehavior; 030 } 031 032 public int doParseStatement(TCustomSqlStatement psql) { 033 if (rootNode == null) return -1; 034 super.doParseStatement(psql); 035 if (rootNode instanceof TDummy){ 036 TDummy node = (TDummy)rootNode; 037 schemaName =(TObjectName)node.node1; 038 dropBehavior =(TSourceToken)(node.st1); 039 if (node.list1 != null){ 040 schemaNameList = (TObjectNameList)node.list1; 041 schemaName = schemaNameList.getObjectName(0); 042 } 043 }else{ 044 TDropSchemaSqlNode node = (TDropSchemaSqlNode)rootNode; 045 schemaName = node.getSchemaName(); 046 dropBehavior = node.getDropBehavior(); 047 schemaNameList = node.getSchemaNameList(); 048 } 049 050 return 0; 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 setSchemaName(TObjectName schemaName) { 063 this.schemaName = schemaName; 064 } 065}