001package gudusoft.gsqlparser.nodes; 002 003import gudusoft.gsqlparser.TBaseType; 004import gudusoft.gsqlparser.TSourceToken; 005 006/** 007* Use this clause to define a single trigger on a DDL or database event. 008*/ 009public class TNonDmlTriggerClause extends TTriggeringClause { 010 011 012 013 private boolean isSchema = false; 014 015 /** 016 * Specify DATABASE to define the trigger on the entire database. 017 * The trigger fires whenever any database user initiates the triggering event. 018 * @return 019 */ 020 public boolean isDatabase() { 021 return isDatabase; 022 } 023 024 public void setDatabase(boolean database) { 025 isDatabase = database; 026 } 027 028 public void setSchema(boolean schema) { 029 isSchema = schema; 030 } 031 032 /** 033 * Specify SCHEMA to define the trigger on the current schema. 034 * The trigger fires whenever any user connected as schema initiates the triggering event. 035 * @return 036 */ 037 public boolean isSchema() { 038 return isSchema; 039 } 040 041 private boolean isDatabase = false; 042 043 private boolean isServer = false; 044 045 public void setServer(boolean server) { 046 isServer = server; 047 } 048 049 public boolean isServer() { 050 return isServer; 051 } 052 053 private TObjectName schemaName; 054 055 /** 056 * It's optional, only valid when {@link #isSchema()} is true. 057 * @return 058 */ 059 public TObjectName getSchemaName() { 060 return schemaName; 061 } 062 063 private TSourceToken before_after = null; 064 065 private int fireMode = TBaseType.fireMode_after; 066 067 /** 068 * When or how this trigger was fired. 069 * @return 070 * <p>{@link TBaseType#fireMode_before} 071 * <p>{@link TBaseType#fireMode_after} 072 */ 073 public int getFireMode() { 074 return fireMode; 075 } 076 077 private TDummyList ddl_event_list; 078 private TDummyList database_event_list; 079 080 public void setDatabase_event_list(TDummyList database_event_list) { 081 this.database_event_list = database_event_list; 082 } 083 084 public void setDdl_event_list(TDummyList ddl_event_list) { 085 this.ddl_event_list = ddl_event_list; 086 } 087 088 public TDummyList getDatabase_event_list() { 089 090 return database_event_list; 091 } 092 093 public TDummyList getDdl_event_list() { 094 return ddl_event_list; 095 } 096 097 public void setFireMode(int fireMode) { 098 this.fireMode = fireMode; 099 } 100 101 public void setSchemaName(TObjectName schemaName) { 102 this.schemaName = schemaName; 103 } 104 105 106 public void accept(TParseTreeVisitor v){ 107 v.preVisit(this); 108 v.postVisit(this); 109 } 110 111 public void acceptChildren(TParseTreeVisitor v){ 112 v.preVisit(this); 113 v.postVisit(this); 114 } 115}