001package gudusoft.gsqlparser.stmt;
002
003import gudusoft.gsqlparser.*;
004import gudusoft.gsqlparser.nodes.*;
005import gudusoft.gsqlparser.stmt.db2.TCustomDb2Stmt;
006
007public class TSignalStmt extends TCustomDb2Stmt {
008     public TSignalStmt(EDbVendor dbvendor){
009        super(dbvendor);
010        sqlstatementtype = ESqlStatementType.sstsignalstatement ;
011        }
012
013    void buildsql() {
014    }
015
016    void clear() {
017    }
018
019    String getasprettytext() {
020        return "";
021    }
022
023    void iterate(TVisitorAbs pvisitor) {
024    }
025
026    private TExpression stateValue;
027    private TObjectName conditionName;
028    private TExpressionList signalInformations;
029
030    public TExpressionList getSignalInformations() {
031        return signalInformations;
032    }
033
034    public TExpression getStateValue() {
035        return stateValue;
036    }
037
038    public TObjectName getConditionName() {
039        return conditionName;
040    }
041
042    public int doParseStatement(TCustomSqlStatement psql) {
043        if (rootNode == null) return -1;
044        super.doParseStatement(psql);
045
046        switch (dbvendor){
047            case dbvmysql:
048            case dbvdb2:
049            case dbvteradata:
050                TSignalSqlNode node = (TSignalSqlNode)rootNode;
051                stateValue = node.getStateValue();
052                conditionName = node.getConditionName();
053                signalInformations = node.getSignalInformations();
054                break;
055            default:
056                TStubStmtSqlNode stubSqlNode = (TStubStmtSqlNode)rootNode;
057        }
058
059     
060        return 0;
061    }
062
063    public void accept(TParseTreeVisitor v){
064        v.preVisit(this);
065        v.postVisit(this);
066    }
067
068    public void acceptChildren(TParseTreeVisitor v){
069        v.preVisit(this);
070        v.postVisit(this);
071    }
072
073}