001package gudusoft.gsqlparser.stmt; 002 003import gudusoft.gsqlparser.*; 004import gudusoft.gsqlparser.nodes.*; 005 006public class TCreateTablespaceStmt extends TCustomSqlStatement { 007 008 public TCreateTablespaceStmt(EDbVendor dbvendor) { 009 super(dbvendor); 010 sqlstatementtype = ESqlStatementType.sstcreateTablespace; 011 } 012 013 private TObjectName tablespaceName = null; 014 015 public TObjectName getTablespaceName() { 016 return tablespaceName; 017 } 018 019 public int doParseStatement(TCustomSqlStatement psql) { 020 TStubStmtSqlNode sqlNode; 021 TSourceToken startToken,st; 022 TSourceTokenList stList; 023 024 if (rootNode == null) return -1; 025 super.doParseStatement(psql); 026 027 switch (dbvendor){ 028 case dbvdb2: 029 sqlNode = (TStubStmtSqlNode)rootNode; 030 startToken = sqlNode.getStartToken(); 031 stList = startToken.container; 032 st = null; 033 boolean isReady = false; 034 for(int i=0;i<stList.size();i++){ 035 st = stList.get(i); 036 if (st.isnonsolidtoken()) continue; 037 if (st.tokencode == TBaseType.rrw_db2_tablespace){ 038 isReady = true; 039 continue; 040 } 041 if (isReady){ 042 tablespaceName = new TNodeFactory().createObjectName(null,null,st); 043 break; 044 } 045 } 046 break; 047 case dbvmssql: 048 049 break; 050 default: 051 break; 052 } 053 054 return 0; 055 } 056 057 058 public void accept(TParseTreeVisitor v){ 059 v.preVisit(this); 060 v.postVisit(this); 061 } 062 063 public void acceptChildren(TParseTreeVisitor v){ 064 v.preVisit(this); 065 v.postVisit(this); 066 } 067 068}