001package gudusoft.gsqlparser.stmt.mysql; 002 003import gudusoft.gsqlparser.*; 004import gudusoft.gsqlparser.nodes.TTable; 005import gudusoft.gsqlparser.nodes.TObjectName; 006import gudusoft.gsqlparser.nodes.TCreateTriggerSqlNode; 007import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 008import gudusoft.gsqlparser.stmt.TStoredProcedureSqlStatement; 009 010/** 011 * Create trigger 012 * 013 * @deprecated As of v2.0.1.0, replaced by {@link gudusoft.gsqlparser.stmt.TCreateTriggerStmt} 014 * 015 */ 016public class TMySQLCreateTrigger extends TStoredProcedureSqlStatement { 017 public TMySQLCreateTrigger (EDbVendor dbvendor){ 018 super(dbvendor); 019 sqlstatementtype = ESqlStatementType.sstmysqlcreatetrigger ; 020 } 021 022 void buildsql() { 023 } 024 025 void clear() { 026 } 027 028 String getasprettytext() { 029 return ""; 030 } 031 032 void iterate(TVisitorAbs pvisitor) { 033 } 034 035 public TObjectName getStoredProcedureName(){ 036 return triggerName; 037 } 038 039 private TTable onTable = null; 040 041 public TTable getOnTable() { 042 return onTable; 043 } 044 045 /** 046 * Statements in body. 047 * @return 048 */ 049 public TStatementList getBodyStatements() { 050 if (bodyStatements == null){ 051 bodyStatements = new TStatementList(); 052 } 053 return bodyStatements; 054 } 055 private TStatementList bodyStatements = null; 056 057 public TObjectName getTriggerName() { 058 return triggerName; 059 } 060 061 private TObjectName triggerName = null; 062 063 public int doParseStatement(TCustomSqlStatement psql) { 064 if (rootNode == null) return -1; 065 TCreateTriggerSqlNode createTriggerNode = (TCreateTriggerSqlNode)rootNode; 066 067 super.doParseStatement(psql); 068 this.triggerName = createTriggerNode.getTriggerName(); 069 onTable = createTriggerNode.getOnTable(); 070 tables.addTable(onTable); 071 072 073 if (createTriggerNode.getStmt() != null){ 074 createTriggerNode.getStmt().doParse(this,ESqlClause.unknown); 075 this.getBodyStatements().add(createTriggerNode.getStmt().getStmt()); 076 } 077 else if (createTriggerNode.getBlcok() != null){ 078 createTriggerNode.getBlcok().getStmts().doParse(this,ESqlClause.unknown); 079 080 for(int i=0;i<createTriggerNode.getBlcok().getStmts().size();i++){ 081 this.getBodyStatements().add(createTriggerNode.getBlcok().getStmts().getStatementSqlNode(i).getStmt()); 082 } 083 084 } 085 086 return 0; 087 } 088 089 public void accept(TParseTreeVisitor v){ 090 v.preVisit(this); 091 092 v.postVisit(this); 093 } 094 095 public void acceptChildren(TParseTreeVisitor v){ 096 v.preVisit(this); 097 getBodyStatements().acceptChildren(v); 098 v.postVisit(this); 099 } 100 101 public void setOnTable(TTable onTable) { 102 this.onTable = onTable; 103 } 104 105// @Override 106// public void setBodyStatements(TStatementList bodyStatements) { 107// this.bodyStatements = bodyStatements; 108// } 109 110 public void setTriggerName(TObjectName triggerName) { 111 this.triggerName = triggerName; 112 } 113}