mirror of
https://github.com/MariaDB/server.git
synced 2025-01-27 01:04:19 +01:00
8be53a389c
This is similar to MysQL Worklog 3253, but with a different implementation. The disk format and SQL syntax is identical with MySQL 5.7. Fetures supported: - "Any" ammount of any trigger - Supports FOLLOWS and PRECEDES to be able to put triggers in a certain execution order. Implementation details: - Class Trigger added to hold information about a trigger. Before this trigger information was stored in a set of lists in Table_triggers_list and in Table_triggers_list::bodies - Each Trigger has a next field that poinst to the next Trigger with the same action and time. - When accessing a trigger, we now always access all linked triggers - The list are now only used to load and save trigger files. - MySQL trigger test case (trigger_wl3253) added and we execute these identically. - Even more gracefully handling of wrong trigger files than before. This is useful if a trigger file uses functions or syntax not provided by the server. - Each trigger now has a "Created" field that shows when the trigger was created, with 2 decimals. Other comments: - Many of the changes in test files was done because of the new "Created" field in the trigger file. This shows up in SHOW ... TRIGGER and when using information_schema.trigger. - Don't check if all memory is released if on uses --gdb; This is needed to be able to get a list from safemalloc of not freed memory while debugging. - Added option to trim_whitespace() to know how many prefix characters was skipped. - Changed a few ulonglong sql_mode to sql_mode_t, to find some wrong usage of sql_mode. |
||
---|---|---|
.. | ||
bitdata | ||
cursors | ||
datadict | ||
include | ||
lib | ||
r | ||
storedproc | ||
t | ||
triggers | ||
views | ||
disabled.def | ||
README.txt |
2008-02-29 Matthias Leich ========================= 1. The testsuite "funcs_1" is mostly intended for additional (compared to the common regression tests stored in mysql-test/t) checks of features (VIEWS, INFORMATION_SCHEMA, STORED PROCEDURES,...) introduced with MySQL 5.0. 2. There were some extensions of this suite when new information_schema views were introduced. But in most cases the tests for these views were stored within the regression testsuite (mysql-test/t). INFORMATION_SCHEMA views introduced with MySQL 5.1 ================================================== ENGINES (partially tested here) EVENTS (partially tested here) FILES GLOBAL_STATUS GLOBAL_VARIABLES PARTITIONS PLUGINS PROCESSLIST (full tested here) PROFILING REFERENTIAL_CONSTRAINTS SESSION_STATUS SESSION_VARIABLES 3. Some hints for maintainers of this suite: - SHOW TABLES ... LIKE '<pattern>' does a case sensitive comparison between the tablename and the pattern. The names of the tables within the informationschema are in uppercase. So please use something like SHOW TABLES FOR information_schema LIKE 'TABLES' when you intend to get the same non empty result set on OS with and without case sensitive filesystems and default configuration. - The name of the data dictionary is 'information_schema' (lowercase). - Server on OS with filesystem with case sensitive filenames (= The files 'abc' and 'Abc' can coexist.) + default configuration Example of behaviour: DROP DATABASE information_schema; ERROR 42000: Access denied for user ... to database 'information_schema' DROP DATABASE INFORMATION_SCHEMA; ERROR 42000: Access denied for user ... to database 'INFORMATION_SCHEMA' - Try to unify results by --replace_result $engine_type <engine_to_be_tested> if we could expect that the results for storage engine variants of a test differ only in the engine names. This makes future maintenance easier. - Avoid the use of include/show_msg*.inc. They produce "SQL" noise which annoys during server debugging and can be easy replaced by "--echo ...".