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.TPTNodeList;
010import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
011import gudusoft.gsqlparser.nodes.mdx.TMdxCallNode;
012import gudusoft.gsqlparser.nodes.mdx.TMdxExpNode;
013import gudusoft.gsqlparser.nodes.mdx.TMdxIdentifierNode;
014
015public class TMdxCall extends TCustomSqlStatement {
016
017    private TMdxCallNode callNode;
018
019    public TMdxCall(EDbVendor dbvendor) {
020        super(dbvendor);
021        sqlstatementtype = ESqlStatementType.sstmdxcall;
022    }
023    public int doParseStatement(TCustomSqlStatement psql) {
024        if (rootNode == null) return -1;
025        super.doParseStatement(psql);
026
027        callNode = (TMdxCallNode)rootNode;
028
029        return 0;
030    }
031
032    public TMdxIdentifierNode getSpName(){
033        return callNode.getSpName();
034    }
035
036    public TPTNodeList<TMdxExpNode> getArgs(){
037        return callNode.getArgs();
038    }
039
040    public void accept(TParseTreeVisitor v){
041        v.preVisit(this);
042        v.postVisit(this);
043    }
044
045    public void acceptChildren(TParseTreeVisitor v){
046        v.preVisit(this);
047        if (getArgs() != null){
048            getArgs().acceptChildren(v);
049        }
050        v.postVisit(this);
051    }
052
053}