001package gudusoft.gsqlparser.stmt; 002 003import gudusoft.gsqlparser.EDbVendor; 004import gudusoft.gsqlparser.ESqlStatementType; 005import gudusoft.gsqlparser.TCustomSqlStatement; 006import gudusoft.gsqlparser.nodes.TDummy; 007import gudusoft.gsqlparser.nodes.TObjectName; 008import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 009 010public class TSetSchemaStmt extends TCustomSqlStatement { 011 012 private TObjectName schemaName; 013 014 public TSetSchemaStmt(EDbVendor dbvendor) { 015 super(dbvendor); 016 sqlstatementtype = ESqlStatementType.sstSetSchema; 017 } 018 019 public int doParseStatement(TCustomSqlStatement psql) { 020 if (rootNode == null) return -1; 021 super.doParseStatement(psql); 022 TDummy sqlNode = (TDummy)rootNode; 023 schemaName = (TObjectName) sqlNode.node1; 024 if (getSqlEnv() != null) { 025 getSqlEnv().setDefaultSchemaName(this.schemaName.toString()); 026 } 027 return 0; 028 } 029 030 public void accept(TParseTreeVisitor v){ 031 v.preVisit(this); 032 v.postVisit(this); 033 } 034 035 public void acceptChildren(TParseTreeVisitor v){ 036 v.preVisit(this); 037 v.postVisit(this); 038 } 039 040 public TObjectName getSchemaName() { 041 return schemaName; 042 } 043}