001package gudusoft.gsqlparser.stmt;
002
003
004import gudusoft.gsqlparser.EDbVendor;
005import gudusoft.gsqlparser.ESqlClause;
006import gudusoft.gsqlparser.ESqlStatementType;
007import gudusoft.gsqlparser.TCustomSqlStatement;
008import gudusoft.gsqlparser.nodes.*;
009
010/**
011 * @deprecated As of v2.3.3.7, replaced by {@link TExecuteSqlStatement}
012 */
013public class TExecutePreparedStatement extends TCustomSqlStatement {
014
015   public TExecutePreparedStatement(EDbVendor dbvendor) {
016        super(dbvendor);
017        sqlstatementtype = ESqlStatementType.sstExecutePreparedStmt;
018    }
019
020    public int doParseStatement(TCustomSqlStatement psql) {
021        if (rootNode == null) return -1;
022        super.doParseStatement(psql);
023        TExecuteSqlNode sqlNode = (TExecuteSqlNode)rootNode;
024        this.statementName = sqlNode.getModuleName();
025        this.parameters = sqlNode.getStringValues();
026        preparedValue = sqlNode.getPreparedValue();
027        if (preparedValue != null){
028            preparedValue.doParse(this, ESqlClause.unknown);
029        }
030        return 0;
031    }
032
033    public void accept(TParseTreeVisitor v){
034        v.preVisit(this);
035        v.postVisit(this);
036    }
037    public void acceptChildren(TParseTreeVisitor v){
038        v.preVisit(this);
039        v.postVisit(this);
040    }
041
042    private TObjectName statementName;
043    private TExpressionList parameters;
044    private TExpression preparedValue;//couchbase
045
046    public TObjectName getStatementName() {
047        return statementName;
048    }
049    public TExpressionList getParameters() {
050        return parameters;
051    }
052
053
054
055    public void setStatementName(TObjectName statementName) {
056        this.statementName = statementName;
057    }
058    public void setParameters(TExpressionList parameters) {
059        this.parameters = parameters;
060    }
061    public TExpression getPreparedValue() {
062        return preparedValue;
063    }
064}