001package gudusoft.gsqlparser.stmt.mysql;
002
003import gudusoft.gsqlparser.*;
004import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
005import gudusoft.gsqlparser.nodes.TRepeatSqlNode;
006import gudusoft.gsqlparser.nodes.TExpression;
007import gudusoft.gsqlparser.stmt.TBlockSqlStatement;
008
009/**
010 * @deprecated As of v2.0.4.6, replaced by {@link gudusoft.gsqlparser.stmt.TRepeatStmt}
011 */
012public class TMySQLRepeatStmt extends TBlockSqlStatement {
013     public TMySQLRepeatStmt (EDbVendor dbvendor){
014        super(dbvendor);
015        sqlstatementtype = ESqlStatementType.sstmysqlrepeatstmt ;
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        TRepeatSqlNode repeatSqlNode = (TRepeatSqlNode)rootNode;
034        super.doParseStatement(psql);
035
036        this.condition = repeatSqlNode.getCondition();
037
038        repeatSqlNode.getStmts().doParse(this,ESqlClause.unknown);
039        for(int i=0;i<repeatSqlNode.getStmts().size();i++){
040            this.getBodyStatements().add(repeatSqlNode.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    public void accept(TParseTreeVisitor v){
052        v.preVisit(this);
053        v.postVisit(this);
054    }
055
056    public void acceptChildren(TParseTreeVisitor v){
057        v.preVisit(this);
058        getBodyStatements().accept(v);
059        v.postVisit(this);
060    }
061
062    public void setCondition(TExpression condition) {
063        this.condition = condition;
064    }
065}