001package gudusoft.gsqlparser.stmt.mdx; 002/* 003 * Date: 11-12-29 004 */ 005 006import gudusoft.gsqlparser.TCustomSqlStatement; 007import gudusoft.gsqlparser.EDbVendor; 008import gudusoft.gsqlparser.ESqlStatementType; 009import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 010import gudusoft.gsqlparser.nodes.mdx.TMdxCreateSubCubeNode; 011import gudusoft.gsqlparser.nodes.mdx.TMdxIdentifierNode; 012 013public class TMdxCreateSubCube extends TCustomSqlStatement { 014 015 private TMdxCreateSubCubeNode createSubCubeNode; 016 private TMdxSelect subQuery; 017 018 public TMdxCreateSubCube(EDbVendor dbvendor) { 019 super(dbvendor); 020 sqlstatementtype = ESqlStatementType.sstmdxcreatesubcube; 021 } 022 public int doParseStatement(TCustomSqlStatement psql) { 023 if (rootNode == null) return -1; 024 super.doParseStatement(psql); 025 026 createSubCubeNode = (TMdxCreateSubCubeNode)rootNode; 027 subQuery = new TMdxSelect(EDbVendor.dbvmdx); 028 subQuery.rootNode = createSubCubeNode.getSelectNode(); 029 subQuery.doParseStatement(this); 030 031 return 0; 032 033 } 034 035 public TMdxIdentifierNode getCubeName(){ 036 return createSubCubeNode.getCubeName(); 037 } 038 039 public TMdxSelect getSubQuery(){ 040 return subQuery; 041 } 042 043 044 public void accept(TParseTreeVisitor v){ 045 v.preVisit(this); 046 047 v.postVisit(this); 048 } 049 050 public void acceptChildren(TParseTreeVisitor v){ 051 v.preVisit(this); 052 subQuery.acceptChildren(v); 053 v.postVisit(this); 054 } 055 056}