001package gudusoft.gsqlparser.stmt.mysql;
002
003
004import gudusoft.gsqlparser.EDbVendor;
005import gudusoft.gsqlparser.ESqlStatementType;
006import gudusoft.gsqlparser.TCustomSqlStatement;
007import gudusoft.gsqlparser.nodes.TExpressionList;
008import gudusoft.gsqlparser.nodes.TObjectName;
009import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
010import gudusoft.gsqlparser.nodes.TStubStmtSqlNode;
011
012/**
013 * @deprecated since GSP Java version 2.5.1.2, use {@link gudusoft.gsqlparser.stmt.TCallStatement} instead.
014 */
015public class TMySQLCallStmt extends TCustomMySQLStmt {
016
017    public TMySQLCallStmt(EDbVendor dbvendor) {
018        super(dbvendor);
019        sqlstatementtype = ESqlStatementType.sstmysqlcall;
020    }
021
022    public int doParseStatement(TCustomSqlStatement psql) {
023        if (rootNode == null) return -1;
024        super.doParseStatement(psql);
025
026        TStubStmtSqlNode stubSqlNode = (TStubStmtSqlNode)rootNode;
027        this.procedureName = stubSqlNode.getObjectName();
028        this.parameters = stubSqlNode.getExprList();
029
030        return 0;
031    }
032
033    private TObjectName procedureName = null;
034
035    public TExpressionList getParameters() {
036        return parameters;
037    }
038
039    public TObjectName getProcedureName() {
040        return procedureName;
041    }
042
043    private TExpressionList parameters  = null;
044
045
046    public void accept(TParseTreeVisitor v){
047        v.preVisit(this);
048        v.postVisit(this);
049    }
050
051    public void acceptChildren(TParseTreeVisitor v){
052        v.preVisit(this);
053        if (parameters != null) parameters.accept(v);
054        v.postVisit(this);
055    }
056
057    public void setProcedureName(TObjectName procedureName) {
058        this.procedureName = procedureName;
059    }
060
061    public void setParameters(TExpressionList parameters) {
062        this.parameters = parameters;
063    }
064}