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
innodb_cursors.result
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
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
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
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
is_engines_memory.result
is_engines_merge.result
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
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
memory_cursors.result
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
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
myisam_cursors.result
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
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