001package gudusoft.gsqlparser.stmt.mysql;
002
003import gudusoft.gsqlparser.*;
004import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
005import gudusoft.gsqlparser.nodes.TWhileSqlNode;
006import gudusoft.gsqlparser.nodes.TExpression;
007import gudusoft.gsqlparser.stmt.TBlockSqlStatement;
008
009/**
010 * @deprecated As of v2.0.5.3, use {@link gudusoft.gsqlparser.stmt.TWhileStmt} instead
011 */
012public class TMySQLWhileStmt extends TBlockSqlStatement {
013     public TMySQLWhileStmt (EDbVendor dbvendor){
014        super(dbvendor);
015        sqlstatementtype = ESqlStatementType.sstmysqlwhilestmt ;
016        }
017
018    void buildsql() {
019    }
020
021    void clear() {
022    }
023
024    String getasprettytext() {
025        return "";
026    }
027
028    void iterate(TVisitorAbs pvisitor) {
029    }
030
031    public int doParseStatement(TCustomSqlStatement psql) {
032        if (rootNode == null) return -1;
033        TWhileSqlNode whileSqlNode = (TWhileSqlNode)rootNode;
034        super.doParseStatement(psql);
035
036        this.condition = whileSqlNode.getCondition();
037
038        whileSqlNode.getStmts().doParse(this,ESqlClause.unknown);
039        for(int i=0;i<whileSqlNode.getStmts().size();i++){
040            this.getBodyStatements().add(whileSqlNode.getStmts().getStatementSqlNode(i).getStmt());
041        }
042
043        return 0;
044    }
045
046    public TExpression getCondition() {
047        return condition;
048    }
049
050    private TExpression condition = null;
051
052    public void accept(TParseTreeVisitor v){
053        v.preVisit(this);
054        v.postVisit(this);
055    }
056
057    public void acceptChildren(TParseTreeVisitor v){
058        v.preVisit(this);
059        getBodyStatements().accept(v);
060        v.postVisit(this);
061    }
062
063    public void setCondition(TExpression condition) {
064        this.condition = condition;
065    }
066}