001package gudusoft.gsqlparser.stmt.postgresql;
002
003
004import gudusoft.gsqlparser.EDbVendor;
005import gudusoft.gsqlparser.ESqlStatementType;
006import gudusoft.gsqlparser.TCustomSqlStatement;
007import gudusoft.gsqlparser.nodes.TConstant;
008import gudusoft.gsqlparser.nodes.TObjectName;
009import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
010import gudusoft.gsqlparser.nodes.postgresql.TMoveSqlNode;
011
012public class TMoveStmt extends TCustomSqlStatement {
013
014    private TObjectName cursorName;
015    private TConstant moveCount;
016
017    public TMoveStmt(){
018        this(EDbVendor.dbvpostgresql);
019    }
020
021    public TMoveStmt(EDbVendor dbvendor) {
022        super(dbvendor);
023        sqlstatementtype = ESqlStatementType.sstpostgresqlMove;
024    }
025
026    public int doParseStatement(TCustomSqlStatement psql) {
027        if (rootNode == null) return -1;
028        super.doParseStatement(psql);
029        TMoveSqlNode sqlNode =(TMoveSqlNode)rootNode;
030        cursorName = sqlNode.getCursorName();
031        moveCount = sqlNode.getMoveCount();
032        return 0;
033    }
034
035    public TConstant getMoveCount() {
036        return moveCount;
037    }
038
039    public TObjectName getCursorName() {
040        return cursorName;
041    }
042    public void accept(TParseTreeVisitor v){
043        v.preVisit(this);
044        v.postVisit(this);
045    }
046
047    public void acceptChildren(TParseTreeVisitor v){
048        v.preVisit(this);
049        v.postVisit(this);
050    }
051
052    public void setCursorName(TObjectName cursorName) {
053        this.cursorName = cursorName;
054    }
055
056    public void setMoveCount(TConstant moveCount) {
057        this.moveCount = moveCount;
058    }
059}