mariadb/mysql-test/suite/funcs_1/r
Dmitry Shulga c170aaf06b MDEV-10164: Add support for TRIGGERS that fire on multiple events
Added capability to create a trigger associated with several trigger events.
For this goal, the syntax of the CREATE TRIGGER statement was extended
to support the syntax structure { event [ OR ... ] } for the `trigger_event`
clause. Since one trigger will be able to handle several events it should be
provided a way to determine what kind of event is handled on execution of a
trigger. For this goal support of the clauses INSERTING, UPDATING , DELETING
was added by this patch. These clauses can be used inside a trigger body
to detect what kind of trigger action is currently processed using the following
boilerplate:
  IF INSERTING THEN ...
  ELSIF UPDATING THEN ...
  ELSIF DELETING THEN ...
In case one of the clauses INSERTING, UPDATING, DELETING specified in
a trigger's body not matched with a trigger event type, the error
ER_INCOMPATIBLE_EVENT_FLAG is emitted.

After this patch be pushed, one Trigger object will be associated with several
trigger events. It means that the array Table_triggers_list::triggers can
contain several pointers to the same Trigger object in array members
corresponding to different events. Moreover, support of several trigger events
for the same trigger requires that the data members `next` and `action_order`
of the Trigger class be converted to arrays to store relating information per
trigger event base.

Ability to specify the same trigger for different event types results in
necessity to handle invalid cases on execution of the multi-event trigger,
when the OLD or NEW qualifiers doesn't match a current event type against that
the trigger is run. The clause OLD should produce the NULL value for INSERT event,
whereas the clause NEW should produce the NULL value for DELETE event.
2025-03-18 18:28:18 +01:00
..
charset_collation.result Merge 11.4 into 11.7 2025-01-09 09:41:38 +02:00
innodb_bitdata.result WL#4203 Reorganize and fix the data dictionary tests of 2008-03-07 17:33:07 +01:00
innodb_cursors.result WL#4203 Reorganize and fix the data dictionary tests of 2008-03-07 17:33:07 +01:00
innodb_func_view.result MDEV-34189 Unexpected error on WHERE inet6col 2025-01-29 09:08:19 +04:00
innodb_storedproc_02.result MDEV-20604: Duplicate key value is silently truncated to 64 characters in print_keydup_error 2020-04-01 11:34:32 +02:00
innodb_storedproc_03.result MDEV-7635: Update tests to adapt to the new default sql_mode 2017-02-10 06:30:42 -05:00
innodb_storedproc_06.result MDEV-28548: ER_TABLEACCESS_DENIED_ERROR is missing information about DB 2022-09-30 08:48:57 +02:00
innodb_storedproc_07.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
innodb_storedproc_08.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
innodb_storedproc_10.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
innodb_trig_03.result MDEV-29167 new db-level SHOW CREATE ROUTINE privilege 2023-10-17 21:52:39 +02:00
innodb_trig_03e.result fix error messages 2025-03-18 18:27:26 +01:00
innodb_trig_08.result MDEV-5215 prerequisite: remove test and test_* database hacks in the test suite 2022-11-01 16:33:00 +01:00
innodb_trig_09.result MDEV-26635 ROW_NUMBER is not 0 for errors not caused because of rows 2021-10-26 17:29:40 +02:00
innodb_trig_0102.result MDEV-26635 ROW_NUMBER is not 0 for errors not caused because of rows 2021-10-26 17:29:40 +02:00
innodb_trig_0407.result MDEV-5215 prerequisite: remove test and test_* database hacks in the test suite 2022-11-01 16:33:00 +01:00
innodb_trig_1011ext.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
innodb_trig_frkey.result 1. Upmerge of fix for the bugs 2008-06-18 19:23:55 +02:00
innodb_views.result MariaDB 11.4.4 release 2024-11-08 07:17:00 +01:00
is_basics_mixed.result MDEV-5215 prerequisite: remove test and test_* database hacks in the test suite 2022-11-01 16:33:00 +01:00
is_character_sets.result Merge 10.9 into 10.10 2022-09-21 10:59:56 +03:00
is_check_constraints.result MDEV-34716 Allow arbitrary options in CREATE SERVER 2024-10-15 10:50:22 +11:00
is_cml_innodb.result MDEV-25829 Change default Unicode collation to uca1400_ai_ci 2024-05-24 15:50:05 +04:00
is_cml_memory.result MDEV-25829 Change default Unicode collation to uca1400_ai_ci 2024-05-24 15:50:05 +04:00
is_cml_myisam.result MDEV-25829 Change default Unicode collation to uca1400_ai_ci 2024-05-24 15:50:05 +04:00
is_coll_char_set_appl.result Merge 10.9 into 10.10 2022-09-21 10:59:56 +03:00
is_collations.result MDEV-20912 Add support for utf8mb4_0900_* collations in MariaDB Server 2024-12-28 10:23:49 +02:00
is_column_privileges.result Merge branch '11.2' into 11.4 2024-10-30 15:11:17 +01:00
is_column_privileges_is_mysql_test.result MDEV-5215 prerequisite: remove test and test_* database hacks in the test suite 2022-11-01 16:33:00 +01:00
is_columns.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
is_columns_innodb.result MDEV-35245 SHOW CREATE TABLE produces unusable statement for vector fields with constant default value 2024-11-05 14:00:52 -08:00
is_columns_is.result MDEV-10164: Add support for TRIGGERS that fire on multiple events 2025-03-18 18:28:18 +01:00
is_columns_is_embedded.result MDEV-10164: Add support for TRIGGERS that fire on multiple events 2025-03-18 18:28:18 +01:00
is_columns_memory.result MDEV-35245 SHOW CREATE TABLE produces unusable statement for vector fields with constant default value 2024-11-05 14:00:52 -08:00
is_columns_myisam.result MDEV-35245 SHOW CREATE TABLE produces unusable statement for vector fields with constant default value 2024-11-05 14:00:52 -08:00
is_columns_myisam_embedded.result MDEV-35245 SHOW CREATE TABLE produces unusable statement for vector fields with constant default value 2024-11-05 14:00:52 -08:00
is_columns_mysql.result Merge 10.11 into 11.4 2025-01-09 07:58:08 +02:00
is_columns_mysql_embedded.result Merge 10.11 into 11.4 2025-01-09 07:58:08 +02:00
is_engines.result Merge 10.5 into 10.6 2022-09-20 16:53:20 +03:00
is_engines_archive.result MDEV-16342 SHOW ENGINES: MyISAM description is useless 2018-06-11 09:57:54 +02:00
is_engines_blackhole.result Post merge fixes after 2008-03-07 20:18:14 +01:00
is_engines_csv.result MDEV-16342 SHOW ENGINES: MyISAM description is useless 2018-06-11 09:57:54 +02:00
is_engines_federated.result Fix various spelling errors still found in code 2021-03-22 18:10:39 +11:00
is_engines_innodb.result Push for testing of encryption 2015-02-10 10:21:17 +01:00
is_engines_memory.result Post merge fixes after 2008-03-07 20:18:14 +01:00
is_engines_merge.result simplify the handler api - table_type() is no longer abstract, not even virtual 2012-12-17 11:00:39 +01:00
is_engines_myisam.result MDEV-16342 SHOW ENGINES: MyISAM description is useless 2018-06-11 09:57:54 +02:00
is_events.result Merge 10.9 into 10.10 2022-09-21 10:59:56 +03:00
is_key_column_usage.result Merge 10.5 into 10.6 2022-09-20 16:53:20 +03:00
is_key_column_usage_embedded.result Merge 10.5 into 10.6 2022-09-20 16:53:20 +03:00
is_routines.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
is_routines_embedded.result Merge branch '11.4' into 11.7 2025-02-06 16:46:36 +01:00
is_schema_privileges.result MDEV-5215 prerequisite: remove test and test_* database hacks in the test suite 2022-11-01 16:33:00 +01:00
is_schema_privileges_is_mysql_test.result MDEV-5215 prerequisite: remove test and test_* database hacks in the test suite 2022-11-01 16:33:00 +01:00
is_schemata.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
is_schemata_embedded.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
is_schemata_is_mysql_test.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
is_statistics.result make INFORMATION_SCHEMA.STATISTICS.COMMENT not nullable 2024-11-05 14:00:46 -08:00
is_statistics_is.result MDEV-7317: Make an index ignorable to the optimizer 2021-03-04 22:50:00 +05:30
is_statistics_mysql.result MDEV-7317: Make an index ignorable to the optimizer 2021-03-04 22:50:00 +05:30
is_statistics_mysql_embedded.result MDEV-7317: Make an index ignorable to the optimizer 2021-03-04 22:50:00 +05:30
is_table_constraints.result MDEV-34716 Allow arbitrary options in CREATE SERVER 2024-10-15 10:50:22 +11:00
is_table_constraints_is.result MDEV-6720 - enable connection log in mysqltest by default 2016-03-31 10:11:16 +04:00
is_table_constraints_mysql.result MDEV-34716 Allow arbitrary options in CREATE SERVER 2024-10-15 10:50:22 +11:00
is_table_constraints_mysql_embedded.result MDEV-15696 Implement SHOW CREATE SERVER 2024-10-15 10:50:23 +11:00
is_table_privileges.result Merge 10.5 into 10.6 2022-09-20 16:53:20 +03:00
is_tables.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
is_tables_embedded.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
is_tables_innodb.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
is_tables_is.result MDEV-33856: Alternative Replication Lag Representation via Received/Executed Master Binlog Event Timestamps 2024-07-25 08:57:27 -06:00
is_tables_is_embedded.result MDEV-32218 PASSWORD_EXPIRATION_TIME column 2024-05-27 16:43:58 +02:00
is_tables_memory.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
is_tables_myisam.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
is_tables_myisam_embedded.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
is_tables_mysql.result MDEV-34716 Allow arbitrary options in CREATE SERVER 2024-10-15 10:50:22 +11:00
is_tables_mysql_embedded.result MDEV-15696 Implement SHOW CREATE SERVER 2024-10-15 10:50:23 +11:00
is_triggers.result MDEV-10164: Add support for TRIGGERS that fire on multiple events 2025-03-18 18:28:18 +01:00
is_triggers_embedded.result MDEV-10164: Add support for TRIGGERS that fire on multiple events 2025-03-18 18:28:18 +01:00
is_user_privileges.result MDEV-5215 prerequisite: remove test and test_* database hacks in the test suite 2022-11-01 16:33:00 +01:00
is_views.result MDEV-5215 prerequisite: remove test and test_* database hacks in the test suite 2022-11-01 16:33:00 +01:00
is_views_embedded.result MDEV-5215 prerequisite: remove test and test_* database hacks in the test suite 2022-11-01 16:33:00 +01:00
memory_bitdata.result 1. Upmerge of fix for the bugs 2008-06-18 19:23:55 +02:00
memory_cursors.result 1. Upmerge of fix for the bugs 2008-06-18 19:23:55 +02:00
memory_func_view.result MDEV-34189 Unexpected error on WHERE inet6col 2025-01-29 09:08:19 +04:00
memory_storedproc_02.result MDEV-20604: Duplicate key value is silently truncated to 64 characters in print_keydup_error 2020-04-01 11:34:32 +02:00
memory_storedproc_03.result MDEV-7635: Update tests to adapt to the new default sql_mode 2017-02-10 06:30:42 -05:00
memory_storedproc_06.result MDEV-28548: ER_TABLEACCESS_DENIED_ERROR is missing information about DB 2022-09-30 08:48:57 +02:00
memory_storedproc_07.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
memory_storedproc_08.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
memory_storedproc_10.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
memory_trig_03.result MDEV-29167 new db-level SHOW CREATE ROUTINE privilege 2023-10-17 21:52:39 +02:00
memory_trig_03e.result fix error messages 2025-03-18 18:27:26 +01:00
memory_trig_08.result MDEV-5215 prerequisite: remove test and test_* database hacks in the test suite 2022-11-01 16:33:00 +01:00
memory_trig_09.result MDEV-26635 ROW_NUMBER is not 0 for errors not caused because of rows 2021-10-26 17:29:40 +02:00
memory_trig_0102.result MDEV-26635 ROW_NUMBER is not 0 for errors not caused because of rows 2021-10-26 17:29:40 +02:00
memory_trig_0407.result MDEV-5215 prerequisite: remove test and test_* database hacks in the test suite 2022-11-01 16:33:00 +01:00
memory_trig_1011ext.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
memory_views.result MariaDB 11.4.4 release 2024-11-08 07:17:00 +01:00
myisam_bitdata.result 1. Upmerge of fix for the bugs 2008-06-18 19:23:55 +02:00
myisam_cursors.result 1. Upmerge of fix for the bugs 2008-06-18 19:23:55 +02:00
myisam_func_view.result MDEV-34189 Unexpected error on WHERE inet6col 2025-01-29 09:08:19 +04:00
myisam_storedproc_02.result MDEV-20604: Duplicate key value is silently truncated to 64 characters in print_keydup_error 2020-04-01 11:34:32 +02:00
myisam_storedproc_03.result MDEV-7635: Update tests to adapt to the new default sql_mode 2017-02-10 06:30:42 -05:00
myisam_storedproc_06.result MDEV-28548: ER_TABLEACCESS_DENIED_ERROR is missing information about DB 2022-09-30 08:48:57 +02:00
myisam_storedproc_07.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
myisam_storedproc_08.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
myisam_storedproc_10.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
myisam_trig_03.result MDEV-29167 new db-level SHOW CREATE ROUTINE privilege 2023-10-17 21:52:39 +02:00
myisam_trig_03e.result fix error messages 2025-03-18 18:27:26 +01:00
myisam_trig_08.result MDEV-5215 prerequisite: remove test and test_* database hacks in the test suite 2022-11-01 16:33:00 +01:00
myisam_trig_09.result MDEV-26635 ROW_NUMBER is not 0 for errors not caused because of rows 2021-10-26 17:29:40 +02:00
myisam_trig_0102.result MDEV-26635 ROW_NUMBER is not 0 for errors not caused because of rows 2021-10-26 17:29:40 +02:00
myisam_trig_0407.result MDEV-5215 prerequisite: remove test and test_* database hacks in the test suite 2022-11-01 16:33:00 +01:00
myisam_trig_1011ext.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
myisam_views-big.result MariaDB 11.4.4 release 2024-11-08 07:17:00 +01:00
processlist_priv_no_prot.result MDEV-9101 Limit size of created disk temporary files and tables 2024-05-27 12:39:04 +02:00
processlist_priv_ps.result MDEV-9101 Limit size of created disk temporary files and tables 2024-05-27 12:39:04 +02:00
processlist_val_no_prot.result MDEV-9101 Limit size of created disk temporary files and tables 2024-05-27 12:39:04 +02:00
processlist_val_ps.result MDEV-9101 Limit size of created disk temporary files and tables 2024-05-27 12:39:04 +02:00
row_count_func.result cleanup: select ... into tests 2025-02-11 20:31:25 +01:00
storedproc.result remove unused non-standard tokens from the parser 2025-03-18 18:27:26 +01:00