## Blocking Execution of Specific Events 

• REPLACE ... SELECT  (for table referenced in REPLACE  clause 

• LOAD DATA 

• LOAD XML 

• update  event: 

• UPDATE 

• UPDATE ... WHERE  (for tables referenced in UPDATE  clause) 

event  items can include an abort  item that indicates whether to prevent qualifying events from executing. For example, abort  enables rules to be written that block execution of specific SQL statements. 

The abort  item must appear within an event  item. For example: 

"event": { "name": qualifying event subclass names "abort": condition } 

For event subclasses selected by the name  item, the abort  action is true or false, depending on condition  evaluation. If the condition evaluates to true, the event is blocked. Otherwise, the event continues executing. 

The condition  specification can be as simple as true  or false , or it can be more complex such that evaluation depends on event characteristics. 

This filter blocks INSERT , UPDATE , and DELETE  statements: 

{ "filter": { "class": { "name": "table_access", "event": { "name": [ "insert", "update", "delete" ], "abort": true } } } } 

This more complex filter blocks the same statements, but only for a specific table ( finances.bank_account ): 

{ "filter": { "class": { "name": "table_access", "event": { "name": [ "insert", "update", "delete" ], "abort": { "and": [ { "field": { "name": "table_database.str", "value": "finances" } }, { "field": { "name": "table_name.str", "value": "bank_account" } } ] 

