diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/ResourcePlanParser.g ql/src/java/org/apache/hadoop/hive/ql/parse/ResourcePlanParser.g index b47f7b39ed..1be67d869f 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/ResourcePlanParser.g +++ ql/src/java/org/apache/hadoop/hive/ql/parse/ResourcePlanParser.g @@ -117,9 +117,13 @@ poolPath triggerExpression @init { gParent.pushMsg("triggerExpression", state); } @after { gParent.popMsg(state); } - : triggerOrExpression -> ^(TOK_TRIGGER_EXPRESSION triggerOrExpression) + : triggerAtomExpression -> ^(TOK_TRIGGER_EXPRESSION triggerAtomExpression) ; +/* + The rules triggerOrExpression and triggerAndExpression are not being used right now. + Only > operator is supported, this should be changed if logic in ExpressionFactory changes. +*/ triggerOrExpression @init { gParent.pushMsg("triggerOrExpression", state); } @after { gParent.popMsg(state); } @@ -135,8 +139,7 @@ triggerAndExpression triggerAtomExpression @init { gParent.pushMsg("triggerAtomExpression", state); } @after { gParent.popMsg(state); } - : (identifier comparisionOperator triggerLiteral) - | (LPAREN triggerOrExpression RPAREN) + : identifier comparisionOperator triggerLiteral ; triggerLiteral @@ -150,7 +153,7 @@ triggerLiteral comparisionOperator @init { gParent.pushMsg("comparisionOperator", state); } @after { gParent.popMsg(state); } - : EQUAL | LESSTHAN | LESSTHANOREQUALTO | GREATERTHAN | GREATERTHANOREQUALTO + : GREATERTHAN ; triggerActionExpression diff --git ql/src/test/queries/clientpositive/resourceplan.q ql/src/test/queries/clientpositive/resourceplan.q index b46c1ee2d6..4de5662cc0 100644 --- ql/src/test/queries/clientpositive/resourceplan.q +++ ql/src/test/queries/clientpositive/resourceplan.q @@ -142,30 +142,38 @@ SELECT * FROM SYS.WM_RESOURCEPLANS; CREATE RESOURCE PLAN plan_1; -CREATE TRIGGER plan_1.trigger_1 WHEN BYTES_READ > 10k AND BYTES_READ <= 1M OR ELAPSED_TIME > 30 SECOND AND ELAPSED_TIME < 1 MINUTE DO KILL; +CREATE TRIGGER plan_1.trigger_1 WHEN BYTES_READ > 10k MINUTE DO KILL; SELECT * FROM SYS.WM_TRIGGERS; -- Duplicate should fail. -CREATE TRIGGER plan_1.trigger_1 WHEN BYTES_READ = 10G DO KILL; +CREATE TRIGGER plan_1.trigger_1 WHEN ELAPSED_TIME > 300 DO KILL; -CREATE TRIGGER plan_1.trigger_2 WHEN BYTES_READ > 100 DO MOVE TO slow_pool; +-- Invalid triggers should fail. +CREATE TRIGGER plan_1.trigger_2 WHEN ELAPSED_TIME > 30 SECOND AND BYTES_READ > 10 DO MOVE TO slow_pool; +CREATE TRIGGER plan_1.trigger_2 WHEN ELAPSED_TIME > 30 SECOND OR BYTES_READ > 10 DO MOVE TO slow_pool; +CREATE TRIGGER plan_1.trigger_2 WHEN ELAPSED_TIME >= 30 SECOND DO MOVE TO slow_pool; +CREATE TRIGGER plan_1.trigger_2 WHEN ELAPSED_TIME < 30 SECOND DO MOVE TO slow_pool; +CREATE TRIGGER plan_1.trigger_2 WHEN ELAPSED_TIME <= 30 SECOND DO MOVE TO slow_pool; +CREATE TRIGGER plan_1.trigger_2 WHEN ELAPSED_TIME = 0 SECOND DO MOVE TO slow_pool; + +CREATE TRIGGER plan_1.trigger_2 WHEN ELAPSED_TIME > 30 SECOND DO MOVE TO slow_pool; SELECT * FROM SYS.WM_TRIGGERS; -ALTER TRIGGER plan_1.trigger_1 WHEN BYTES_READ = 1000 DO KILL; +ALTER TRIGGER plan_1.trigger_1 WHEN BYTES_READ > 1 MINUTE DO KILL; SELECT * FROM SYS.WM_TRIGGERS; DROP TRIGGER plan_1.trigger_1; SELECT * FROM SYS.WM_TRIGGERS; -- No edit on active resource plan. -CREATE TRIGGER plan_2.trigger_1 WHEN BYTES_READ = 0m DO MOVE TO null_pool; +CREATE TRIGGER plan_2.trigger_1 WHEN BYTES_READ > 100m DO MOVE TO null_pool; -- Add trigger with reserved keywords. CREATE TRIGGER `table`.`table` WHEN BYTES_WRITTEN > 100K DO MOVE TO `table`; -CREATE TRIGGER `table`.`trigger` WHEN BYTES_WRITTEN > 100K DO MOVE TO `default`; -CREATE TRIGGER `table`.`database` WHEN BYTES_WRITTEN > 1M DO MOVE TO `default`; +CREATE TRIGGER `table`.`trigger` WHEN BYTES_WRITTEN > 100M DO MOVE TO `default`; +CREATE TRIGGER `table`.`database` WHEN BYTES_WRITTEN > 1G DO MOVE TO `default`; CREATE TRIGGER `table`.`trigger1` WHEN ELAPSED_TIME > 10 DO KILL; -CREATE TRIGGER `table`.`trigger2` WHEN BYTES_READ > 100 DO KILL; +CREATE TRIGGER `table`.`trigger2` WHEN ELAPSED_TIME > 1 hour DO KILL; SELECT * FROM SYS.WM_TRIGGERS; DROP TRIGGER `table`.`database`; SELECT * FROM SYS.WM_TRIGGERS; @@ -174,17 +182,17 @@ SELECT * FROM SYS.WM_TRIGGERS; ALTER RESOURCE PLAN plan_1 ENABLE; SELECT * FROM SYS.WM_RESOURCEPLANS; DROP TRIGGER plan_1.trigger_2; -ALTER TRIGGER plan_1.trigger_2 WHEN BYTES_READ = 1000g DO KILL; +ALTER TRIGGER plan_1.trigger_2 WHEN BYTES_READ > 1000g DO KILL; -- Cannot drop/change trigger from active plan. ALTER RESOURCE PLAN plan_1 ACTIVATE; SELECT * FROM SYS.WM_RESOURCEPLANS; DROP TRIGGER plan_1.trigger_2; -ALTER TRIGGER plan_1.trigger_2 WHEN BYTES_READ = 1000K DO KILL; +ALTER TRIGGER plan_1.trigger_2 WHEN BYTES_READ > 1000K DO KILL; -- Once disabled we should be able to change it. ALTER RESOURCE PLAN plan_2 DISABLE; -CREATE TRIGGER plan_2.trigger_1 WHEN BYTES_READ = 0 DO MOVE TO null_pool; +CREATE TRIGGER plan_2.trigger_1 WHEN BYTES_READ > 0 DO MOVE TO null_pool; SELECT * FROM SYS.WM_TRIGGERS; @@ -355,8 +363,8 @@ SELECT * FROM SYS.WM_MAPPINGS; CREATE RESOURCE PLAN plan_4a LIKE plan_4; CREATE POOL plan_4a.pool1 WITH SCHEDULING_POLICY='fair', QUERY_PARALLELISM=2, ALLOC_FRACTION=0.0; CREATE USER MAPPING "user1" IN plan_4a TO pool1; -CREATE TRIGGER plan_4a.trigger_1 WHEN BYTES_READ = 10G DO KILL; -CREATE TRIGGER plan_4a.trigger_2 WHEN BYTES_READ = 11G DO KILL; +CREATE TRIGGER plan_4a.trigger_1 WHEN BYTES_READ > 10G DO KILL; +CREATE TRIGGER plan_4a.trigger_2 WHEN BYTES_READ > 11G DO KILL; ALTER POOL plan_4a.pool1 ADD TRIGGER trigger_2; CREATE RESOURCE PLAN plan_4b LIKE plan_4a; diff --git ql/src/test/results/clientpositive/llap/resourceplan.q.out ql/src/test/results/clientpositive/llap/resourceplan.q.out index fc55ab0d59..d0b3b1f567 100644 --- ql/src/test/results/clientpositive/llap/resourceplan.q.out +++ ql/src/test/results/clientpositive/llap/resourceplan.q.out @@ -3533,9 +3533,9 @@ PREHOOK: query: CREATE RESOURCE PLAN plan_1 PREHOOK: type: CREATE RESOURCEPLAN POSTHOOK: query: CREATE RESOURCE PLAN plan_1 POSTHOOK: type: CREATE RESOURCEPLAN -PREHOOK: query: CREATE TRIGGER plan_1.trigger_1 WHEN BYTES_READ > 10k AND BYTES_READ <= 1M OR ELAPSED_TIME > 30 SECOND AND ELAPSED_TIME < 1 MINUTE DO KILL +PREHOOK: query: CREATE TRIGGER plan_1.trigger_1 WHEN BYTES_READ > 10k MINUTE DO KILL PREHOOK: type: CREATE TRIGGER -POSTHOOK: query: CREATE TRIGGER plan_1.trigger_1 WHEN BYTES_READ > 10k AND BYTES_READ <= 1M OR ELAPSED_TIME > 30 SECOND AND ELAPSED_TIME < 1 MINUTE DO KILL +POSTHOOK: query: CREATE TRIGGER plan_1.trigger_1 WHEN BYTES_READ > 10k MINUTE DO KILL POSTHOOK: type: CREATE TRIGGER PREHOOK: query: SELECT * FROM SYS.WM_TRIGGERS PREHOOK: type: QUERY @@ -3545,13 +3545,19 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_triggers #### A masked pattern was here #### -plan_1 trigger_1 BYTES_READ > 10k AND BYTES_READ <= 1M OR ELAPSED_TIME > 30 SECOND AND ELAPSED_TIME < 1 MINUTE KILL -PREHOOK: query: CREATE TRIGGER plan_1.trigger_1 WHEN BYTES_READ = 10G DO KILL +plan_1 trigger_1 BYTES_READ > 10k KILL +PREHOOK: query: CREATE TRIGGER plan_1.trigger_1 WHEN ELAPSED_TIME > 300 DO KILL PREHOOK: type: CREATE TRIGGER FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. AlreadyExistsException(message:Trigger already exists, use alter: ) -PREHOOK: query: CREATE TRIGGER plan_1.trigger_2 WHEN BYTES_READ > 100 DO MOVE TO slow_pool +FAILED: RuntimeException Empty Syntax Tree +FAILED: RuntimeException Empty Syntax Tree +FAILED: NullPointerException null +FAILED: NullPointerException null +FAILED: NullPointerException null +FAILED: NullPointerException null +PREHOOK: query: CREATE TRIGGER plan_1.trigger_2 WHEN ELAPSED_TIME > 30 SECOND DO MOVE TO slow_pool PREHOOK: type: CREATE TRIGGER -POSTHOOK: query: CREATE TRIGGER plan_1.trigger_2 WHEN BYTES_READ > 100 DO MOVE TO slow_pool +POSTHOOK: query: CREATE TRIGGER plan_1.trigger_2 WHEN ELAPSED_TIME > 30 SECOND DO MOVE TO slow_pool POSTHOOK: type: CREATE TRIGGER PREHOOK: query: SELECT * FROM SYS.WM_TRIGGERS PREHOOK: type: QUERY @@ -3561,11 +3567,11 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_triggers #### A masked pattern was here #### -plan_1 trigger_1 BYTES_READ > 10k AND BYTES_READ <= 1M OR ELAPSED_TIME > 30 SECOND AND ELAPSED_TIME < 1 MINUTE KILL -plan_1 trigger_2 BYTES_READ > 100 MOVE TO slow_pool -PREHOOK: query: ALTER TRIGGER plan_1.trigger_1 WHEN BYTES_READ = 1000 DO KILL +plan_1 trigger_1 BYTES_READ > 10k KILL +plan_1 trigger_2 ELAPSED_TIME > 30 SECOND MOVE TO slow_pool +PREHOOK: query: ALTER TRIGGER plan_1.trigger_1 WHEN BYTES_READ > 1 MINUTE DO KILL PREHOOK: type: ALTER TRIGGER -POSTHOOK: query: ALTER TRIGGER plan_1.trigger_1 WHEN BYTES_READ = 1000 DO KILL +POSTHOOK: query: ALTER TRIGGER plan_1.trigger_1 WHEN BYTES_READ > 1 MINUTE DO KILL POSTHOOK: type: ALTER TRIGGER PREHOOK: query: SELECT * FROM SYS.WM_TRIGGERS PREHOOK: type: QUERY @@ -3575,8 +3581,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_triggers #### A masked pattern was here #### -plan_1 trigger_1 BYTES_READ = 1000 KILL -plan_1 trigger_2 BYTES_READ > 100 MOVE TO slow_pool +plan_1 trigger_1 BYTES_READ > 1 MINUTE KILL +plan_1 trigger_2 ELAPSED_TIME > 30 SECOND MOVE TO slow_pool PREHOOK: query: DROP TRIGGER plan_1.trigger_1 PREHOOK: type: DROP TRIGGER POSTHOOK: query: DROP TRIGGER plan_1.trigger_1 @@ -3589,29 +3595,29 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_triggers #### A masked pattern was here #### -plan_1 trigger_2 BYTES_READ > 100 MOVE TO slow_pool -PREHOOK: query: CREATE TRIGGER plan_2.trigger_1 WHEN BYTES_READ = 0m DO MOVE TO null_pool +plan_1 trigger_2 ELAPSED_TIME > 30 SECOND MOVE TO slow_pool +PREHOOK: query: CREATE TRIGGER plan_2.trigger_1 WHEN BYTES_READ > 100m DO MOVE TO null_pool PREHOOK: type: CREATE TRIGGER FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Resource plan must be disabled to edit it.) PREHOOK: query: CREATE TRIGGER `table`.`table` WHEN BYTES_WRITTEN > 100K DO MOVE TO `table` PREHOOK: type: CREATE TRIGGER POSTHOOK: query: CREATE TRIGGER `table`.`table` WHEN BYTES_WRITTEN > 100K DO MOVE TO `table` POSTHOOK: type: CREATE TRIGGER -PREHOOK: query: CREATE TRIGGER `table`.`trigger` WHEN BYTES_WRITTEN > 100K DO MOVE TO `default` +PREHOOK: query: CREATE TRIGGER `table`.`trigger` WHEN BYTES_WRITTEN > 100M DO MOVE TO `default` PREHOOK: type: CREATE TRIGGER -POSTHOOK: query: CREATE TRIGGER `table`.`trigger` WHEN BYTES_WRITTEN > 100K DO MOVE TO `default` +POSTHOOK: query: CREATE TRIGGER `table`.`trigger` WHEN BYTES_WRITTEN > 100M DO MOVE TO `default` POSTHOOK: type: CREATE TRIGGER -PREHOOK: query: CREATE TRIGGER `table`.`database` WHEN BYTES_WRITTEN > 1M DO MOVE TO `default` +PREHOOK: query: CREATE TRIGGER `table`.`database` WHEN BYTES_WRITTEN > 1G DO MOVE TO `default` PREHOOK: type: CREATE TRIGGER -POSTHOOK: query: CREATE TRIGGER `table`.`database` WHEN BYTES_WRITTEN > 1M DO MOVE TO `default` +POSTHOOK: query: CREATE TRIGGER `table`.`database` WHEN BYTES_WRITTEN > 1G DO MOVE TO `default` POSTHOOK: type: CREATE TRIGGER PREHOOK: query: CREATE TRIGGER `table`.`trigger1` WHEN ELAPSED_TIME > 10 DO KILL PREHOOK: type: CREATE TRIGGER POSTHOOK: query: CREATE TRIGGER `table`.`trigger1` WHEN ELAPSED_TIME > 10 DO KILL POSTHOOK: type: CREATE TRIGGER -PREHOOK: query: CREATE TRIGGER `table`.`trigger2` WHEN BYTES_READ > 100 DO KILL +PREHOOK: query: CREATE TRIGGER `table`.`trigger2` WHEN ELAPSED_TIME > 1 hour DO KILL PREHOOK: type: CREATE TRIGGER -POSTHOOK: query: CREATE TRIGGER `table`.`trigger2` WHEN BYTES_READ > 100 DO KILL +POSTHOOK: query: CREATE TRIGGER `table`.`trigger2` WHEN ELAPSED_TIME > 1 hour DO KILL POSTHOOK: type: CREATE TRIGGER PREHOOK: query: SELECT * FROM SYS.WM_TRIGGERS PREHOOK: type: QUERY @@ -3621,12 +3627,12 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_triggers #### A masked pattern was here #### -plan_1 trigger_2 BYTES_READ > 100 MOVE TO slow_pool -table database BYTES_WRITTEN > 1M MOVE TO default +plan_1 trigger_2 ELAPSED_TIME > 30 SECOND MOVE TO slow_pool +table database BYTES_WRITTEN > 1G MOVE TO default table table BYTES_WRITTEN > 100K MOVE TO table -table trigger BYTES_WRITTEN > 100K MOVE TO default +table trigger BYTES_WRITTEN > 100M MOVE TO default table trigger1 ELAPSED_TIME > 10 KILL -table trigger2 BYTES_READ > 100 KILL +table trigger2 ELAPSED_TIME > 1 hour KILL PREHOOK: query: DROP TRIGGER `table`.`database` PREHOOK: type: DROP TRIGGER POSTHOOK: query: DROP TRIGGER `table`.`database` @@ -3639,11 +3645,11 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_triggers #### A masked pattern was here #### -plan_1 trigger_2 BYTES_READ > 100 MOVE TO slow_pool +plan_1 trigger_2 ELAPSED_TIME > 30 SECOND MOVE TO slow_pool table table BYTES_WRITTEN > 100K MOVE TO table -table trigger BYTES_WRITTEN > 100K MOVE TO default +table trigger BYTES_WRITTEN > 100M MOVE TO default table trigger1 ELAPSED_TIME > 10 KILL -table trigger2 BYTES_READ > 100 KILL +table trigger2 ELAPSED_TIME > 1 hour KILL PREHOOK: query: ALTER RESOURCE PLAN plan_1 ENABLE PREHOOK: type: ALTER RESOURCEPLAN POSTHOOK: query: ALTER RESOURCE PLAN plan_1 ENABLE @@ -3662,7 +3668,7 @@ table DISABLED 1 default PREHOOK: query: DROP TRIGGER plan_1.trigger_2 PREHOOK: type: DROP TRIGGER FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Resource plan must be disabled to edit it.) -PREHOOK: query: ALTER TRIGGER plan_1.trigger_2 WHEN BYTES_READ = 1000g DO KILL +PREHOOK: query: ALTER TRIGGER plan_1.trigger_2 WHEN BYTES_READ > 1000g DO KILL PREHOOK: type: ALTER TRIGGER FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Resource plan must be disabled to edit it.) PREHOOK: query: ALTER RESOURCE PLAN plan_1 ACTIVATE @@ -3683,16 +3689,16 @@ table DISABLED 1 default PREHOOK: query: DROP TRIGGER plan_1.trigger_2 PREHOOK: type: DROP TRIGGER FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Resource plan must be disabled to edit it.) -PREHOOK: query: ALTER TRIGGER plan_1.trigger_2 WHEN BYTES_READ = 1000K DO KILL +PREHOOK: query: ALTER TRIGGER plan_1.trigger_2 WHEN BYTES_READ > 1000K DO KILL PREHOOK: type: ALTER TRIGGER FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Resource plan must be disabled to edit it.) PREHOOK: query: ALTER RESOURCE PLAN plan_2 DISABLE PREHOOK: type: ALTER RESOURCEPLAN POSTHOOK: query: ALTER RESOURCE PLAN plan_2 DISABLE POSTHOOK: type: ALTER RESOURCEPLAN -PREHOOK: query: CREATE TRIGGER plan_2.trigger_1 WHEN BYTES_READ = 0 DO MOVE TO null_pool +PREHOOK: query: CREATE TRIGGER plan_2.trigger_1 WHEN BYTES_READ > 0 DO MOVE TO null_pool PREHOOK: type: CREATE TRIGGER -POSTHOOK: query: CREATE TRIGGER plan_2.trigger_1 WHEN BYTES_READ = 0 DO MOVE TO null_pool +POSTHOOK: query: CREATE TRIGGER plan_2.trigger_1 WHEN BYTES_READ > 0 DO MOVE TO null_pool POSTHOOK: type: CREATE TRIGGER PREHOOK: query: SELECT * FROM SYS.WM_TRIGGERS PREHOOK: type: QUERY @@ -3702,12 +3708,12 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_triggers #### A masked pattern was here #### -plan_1 trigger_2 BYTES_READ > 100 MOVE TO slow_pool -plan_2 trigger_1 BYTES_READ = 0 MOVE TO null_pool +plan_1 trigger_2 ELAPSED_TIME > 30 SECOND MOVE TO slow_pool +plan_2 trigger_1 BYTES_READ > 0 MOVE TO null_pool table table BYTES_WRITTEN > 100K MOVE TO table -table trigger BYTES_WRITTEN > 100K MOVE TO default +table trigger BYTES_WRITTEN > 100M MOVE TO default table trigger1 ELAPSED_TIME > 10 KILL -table trigger2 BYTES_READ > 100 KILL +table trigger2 ELAPSED_TIME > 1 hour KILL PREHOOK: query: CREATE POOL plan_1.default WITH ALLOC_FRACTION=1.0, QUERY_PARALLELISM=5, SCHEDULING_POLICY='default' PREHOOK: type: CREATE POOL @@ -4148,7 +4154,7 @@ POSTHOOK: type: SHOW RESOURCEPLAN plan_2[status=DISABLED,parallelism=4,defaultPool=def] def[allocFraction=1.0,schedulingPolicy=null,parallelism=4] c2[allocFraction=0.7,schedulingPolicy=fair,parallelism=1] - > trigger_1: if(BYTES_READ = 0){MOVE TO null_pool} + > trigger_1: if(BYTES_READ > 0){MOVE TO null_pool} c1[allocFraction=0.3,schedulingPolicy=fair,parallelism=3] PREHOOK: query: DROP RESOURCE PLAN plan_2 PREHOOK: type: DROP RESOURCEPLAN @@ -4191,11 +4197,11 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_triggers #### A masked pattern was here #### -plan_1 trigger_2 BYTES_READ > 100 MOVE TO slow_pool +plan_1 trigger_2 ELAPSED_TIME > 30 SECOND MOVE TO slow_pool table table BYTES_WRITTEN > 100K MOVE TO table -table trigger BYTES_WRITTEN > 100K MOVE TO default +table trigger BYTES_WRITTEN > 100M MOVE TO default table trigger1 ELAPSED_TIME > 10 KILL -table trigger2 BYTES_READ > 100 KILL +table trigger2 ELAPSED_TIME > 1 hour KILL PREHOOK: query: SELECT * FROM SYS.WM_POOLS_TO_TRIGGERS PREHOOK: type: QUERY PREHOOK: Input: sys@wm_pools_to_triggers @@ -4225,13 +4231,13 @@ PREHOOK: query: CREATE USER MAPPING "user1" IN plan_4a TO pool1 PREHOOK: type: CREATE MAPPING POSTHOOK: query: CREATE USER MAPPING "user1" IN plan_4a TO pool1 POSTHOOK: type: CREATE MAPPING -PREHOOK: query: CREATE TRIGGER plan_4a.trigger_1 WHEN BYTES_READ = 10G DO KILL +PREHOOK: query: CREATE TRIGGER plan_4a.trigger_1 WHEN BYTES_READ > 10G DO KILL PREHOOK: type: CREATE TRIGGER -POSTHOOK: query: CREATE TRIGGER plan_4a.trigger_1 WHEN BYTES_READ = 10G DO KILL +POSTHOOK: query: CREATE TRIGGER plan_4a.trigger_1 WHEN BYTES_READ > 10G DO KILL POSTHOOK: type: CREATE TRIGGER -PREHOOK: query: CREATE TRIGGER plan_4a.trigger_2 WHEN BYTES_READ = 11G DO KILL +PREHOOK: query: CREATE TRIGGER plan_4a.trigger_2 WHEN BYTES_READ > 11G DO KILL PREHOOK: type: CREATE TRIGGER -POSTHOOK: query: CREATE TRIGGER plan_4a.trigger_2 WHEN BYTES_READ = 11G DO KILL +POSTHOOK: query: CREATE TRIGGER plan_4a.trigger_2 WHEN BYTES_READ > 11G DO KILL POSTHOOK: type: CREATE TRIGGER PREHOOK: query: ALTER POOL plan_4a.pool1 ADD TRIGGER trigger_2 PREHOOK: type: ALTER POOL @@ -4285,15 +4291,15 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS POSTHOOK: type: QUERY POSTHOOK: Input: sys@wm_triggers #### A masked pattern was here #### -plan_1 trigger_2 BYTES_READ > 100 MOVE TO slow_pool -plan_4a trigger_1 BYTES_READ = 10G KILL -plan_4a trigger_2 BYTES_READ = 11G KILL -plan_4b trigger_1 BYTES_READ = 10G KILL -plan_4b trigger_2 BYTES_READ = 11G KILL +plan_1 trigger_2 ELAPSED_TIME > 30 SECOND MOVE TO slow_pool +plan_4a trigger_1 BYTES_READ > 10G KILL +plan_4a trigger_2 BYTES_READ > 11G KILL +plan_4b trigger_1 BYTES_READ > 10G KILL +plan_4b trigger_2 BYTES_READ > 11G KILL table table BYTES_WRITTEN > 100K MOVE TO table -table trigger BYTES_WRITTEN > 100K MOVE TO default +table trigger BYTES_WRITTEN > 100M MOVE TO default table trigger1 ELAPSED_TIME > 10 KILL -table trigger2 BYTES_READ > 100 KILL +table trigger2 ELAPSED_TIME > 1 hour KILL PREHOOK: query: SELECT * FROM SYS.WM_POOLS_TO_TRIGGERS PREHOOK: type: QUERY PREHOOK: Input: sys@wm_pools_to_triggers