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}