let's always disconnect a user connection before dropping the said user.
MariaDB is traditionally very tolerant to active connections
of the dropped user, which isn't the case for most other databases.
Let's avoid unintentionally spreading incompatible behavior
and disconnect before drop.
Except in cases when the test specifically tests such a behavior.
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.
Fix for this bug and additional improvements/fixes
In detail:
- Remove unicode attribute from several columns
(unicode properties were nowhere needed/tested)
of the table tb3
-> The runnability of these tests depends no more on
the availibility of some optional collations.
- Use a table tb3 with the same layout for all
engines to be tested and unify the engine name
within the protocols.
-> <engine>_trig_<abc>.result have the same content
- Do not load data into tb3 if these rows have no
impact on result sets
- Add tests for NDB (they exist already in 5.1)
- "--replace_result" at various places because
NDB variants of tests failed with "random" row
order in results
This fixes a till now unknown weakness within the
funcs_1 NDB tests existing in 5.1 and 6.0
- Fix the expected result of ndb_trig_1011ext
which suffered from Bug 32656
+ disable this test
- funcs_1 could be executed with the mysql-test-run.pl
option "--reorder", which saves some runtime by
optimizing server restarts.
Runtimes on tmpfs (one attempt only):
with reorder 132 seconds
without reorder 183 seconds
- Adjust two "check" statements within func_misc.test
which were incorrect (We had one run with result set
difference though the server worked good.)
- minor fixes in comments
Bug#35335 funcs_1: Some tests fail within load_file during
pushbuild runs
Solution: 1. Move files with input data used in load_file,
load data etc.
from suite/funcs_1/<whatever>
to std_data
2. Use for testsuite funcs_1 the server option
--secure-file-priv=<MYSQLTEST_VARDIR>
3. Outfiles have to be stored under MYSQLTEST_VARDIR
+ changes according to WL#4304 Cleanup in funcs_1 tests
- backport of fixes/improvements made in 5.1 to 5.0
The differences between scripts in 5.0 and 5.1 cause
much additional and annoying work during any upmerge.
- replace error numbers with names
- improved comments
- improved formatting
- Unify storage engine names so that result files for
storage engine variants do not differ (some tests)
- remove a script no more used (tests are done in other scripts)
BitKeeper/deleted/.del-triggers_master.test:
Delete: mysql-test/suite/funcs_1/triggers/triggers_master.test
mysql-test/std_data/funcs_1/innodb_tb1.txt:
Rename: mysql-test/suite/funcs_1/data/innodb_tb1.txt -> mysql-test/std_data/funcs_1/innodb_tb1.txt
mysql-test/std_data/funcs_1/innodb_tb2.txt:
Rename: mysql-test/suite/funcs_1/data/innodb_tb2.txt -> mysql-test/std_data/funcs_1/innodb_tb2.txt
mysql-test/std_data/funcs_1/innodb_tb3.txt:
Rename: mysql-test/suite/funcs_1/data/innodb_tb3.txt -> mysql-test/std_data/funcs_1/innodb_tb3.txt
mysql-test/std_data/funcs_1/innodb_tb4.txt:
Rename: mysql-test/suite/funcs_1/data/innodb_tb4.txt -> mysql-test/std_data/funcs_1/innodb_tb4.txt
mysql-test/std_data/funcs_1/memory_tb1.txt:
Rename: mysql-test/suite/funcs_1/data/memory_tb1.txt -> mysql-test/std_data/funcs_1/memory_tb1.txt
mysql-test/std_data/funcs_1/memory_tb2.txt:
Rename: mysql-test/suite/funcs_1/data/memory_tb2.txt -> mysql-test/std_data/funcs_1/memory_tb2.txt
mysql-test/std_data/funcs_1/memory_tb3.txt:
Rename: mysql-test/suite/funcs_1/data/memory_tb3.txt -> mysql-test/std_data/funcs_1/memory_tb3.txt
mysql-test/std_data/funcs_1/memory_tb4.txt:
Rename: mysql-test/suite/funcs_1/data/memory_tb4.txt -> mysql-test/std_data/funcs_1/memory_tb4.txt
mysql-test/std_data/funcs_1/myisam_tb1.txt:
Rename: mysql-test/suite/funcs_1/data/myisam_tb1.txt -> mysql-test/std_data/funcs_1/myisam_tb1.txt
mysql-test/std_data/funcs_1/myisam_tb2.txt:
Rename: mysql-test/suite/funcs_1/data/myisam_tb2.txt -> mysql-test/std_data/funcs_1/myisam_tb2.txt
mysql-test/std_data/funcs_1/myisam_tb3.txt:
Rename: mysql-test/suite/funcs_1/data/myisam_tb3.txt -> mysql-test/std_data/funcs_1/myisam_tb3.txt
mysql-test/std_data/funcs_1/myisam_tb4.txt:
Rename: mysql-test/suite/funcs_1/data/myisam_tb4.txt -> mysql-test/std_data/funcs_1/myisam_tb4.txt
mysql-test/std_data/funcs_1/t3.txt:
Rename: mysql-test/suite/funcs_1/data/t3.txt -> mysql-test/std_data/funcs_1/t3.txt
mysql-test/std_data/funcs_1/t4.txt:
Rename: mysql-test/suite/funcs_1/data/t4.txt -> mysql-test/std_data/funcs_1/t4.txt
mysql-test/std_data/funcs_1/t7.txt:
Rename: mysql-test/suite/funcs_1/data/t7.txt -> mysql-test/std_data/funcs_1/t7.txt
mysql-test/std_data/funcs_1/t9.txt:
Rename: mysql-test/suite/funcs_1/data/t9.txt -> mysql-test/std_data/funcs_1/t9.txt
mysql-test/Makefile.am:
Introduce installation of funcs_1 files in std_data.
mysql-test/mysql-test-run.pl:
The tests within funcs_1 need a server started with
--secure-file-priv=<MYSQLTEST_VARDIR>
like the main regression tests.
mysql-test/suite/funcs_1/README.txt:
Extended description
mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc:
Cleanup
mysql-test/suite/funcs_1/datadict/datadict_load.inc:
Cleanup
mysql-test/suite/funcs_1/include/innodb_tb1.inc:
Adjustment to new storage place of infile.
mysql-test/suite/funcs_1/include/innodb_tb2.inc:
Adjustment to new storage place of infile.
mysql-test/suite/funcs_1/include/innodb_tb3.inc:
Adjustment to new storage place of infile.
mysql-test/suite/funcs_1/include/innodb_tb4.inc:
Adjustment to new storage place of infile.
mysql-test/suite/funcs_1/include/memory_tb1.inc:
Adjustment to new storage place of infile.
mysql-test/suite/funcs_1/include/memory_tb2.inc:
Adjustment to new storage place of infile.
mysql-test/suite/funcs_1/include/memory_tb3.inc:
Adjustment to new storage place of infile.
mysql-test/suite/funcs_1/include/memory_tb4.inc:
Adjustment to new storage place of infile.
mysql-test/suite/funcs_1/include/myisam_tb1.inc:
Adjustment to new storage place of infile.
mysql-test/suite/funcs_1/include/myisam_tb2.inc:
Adjustment to new storage place of infile.
mysql-test/suite/funcs_1/include/myisam_tb3.inc:
Adjustment to new storage place of infile.
mysql-test/suite/funcs_1/include/myisam_tb4.inc:
Adjustment to new storage place of infile.
mysql-test/suite/funcs_1/include/sp_tb.inc:
Adjustment to new storage place of infile.
mysql-test/suite/funcs_1/r/innodb_func_view.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_02.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_03.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_06.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_07.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_08.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_10.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_0102.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_03.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_0407.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_08.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_09.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_frkey.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_views.result:
Updated results
mysql-test/suite/funcs_1/r/is_columns_innodb.result:
Updated results
mysql-test/suite/funcs_1/r/is_columns_memory.result:
Updated results
mysql-test/suite/funcs_1/r/is_columns_myisam.result:
Updated results
mysql-test/suite/funcs_1/r/is_columns_ndb.result:
Updated results
mysql-test/suite/funcs_1/r/is_tables_innodb.result:
Updated results
mysql-test/suite/funcs_1/r/is_tables_memory.result:
Updated results
mysql-test/suite/funcs_1/r/is_tables_myisam.result:
Updated results
mysql-test/suite/funcs_1/r/is_tables_ndb.result:
Updated results
mysql-test/suite/funcs_1/r/memory_func_view.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_02.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_03.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_06.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_07.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_08.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_10.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_0102.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_03.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_0407.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_08.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_09.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_1011ext.result:
Updated results
mysql-test/suite/funcs_1/r/memory_views.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_func_view.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_02.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_03.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_06.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_07.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_08.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_10.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_0102.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_03.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_0407.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_08.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_09.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_views.result:
Updated results
mysql-test/suite/funcs_1/storedproc/cleanup_sp_tb.inc:
"--echo" instead of SQL command.
mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc:
Adjustment to new storage place of infile
+ correct formatting.
mysql-test/suite/funcs_1/storedproc/storedproc_02.inc:
Backport from 5.1 + correct formatting.
mysql-test/suite/funcs_1/storedproc/storedproc_03.inc:
Minor improvements + correct formatting.
mysql-test/suite/funcs_1/storedproc/storedproc_06.inc:
Backport from 5.1 + correct formatting
mysql-test/suite/funcs_1/storedproc/storedproc_10.inc:
Backport from 5.1. + correct formatting
mysql-test/suite/funcs_1/t/innodb_trig_0407.test:
Cleanup
mysql-test/suite/funcs_1/t/is_basics_mixed.test:
Adjustment to new storage place of outfile.
mysql-test/suite/funcs_1/t/memory_storedproc_02.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_storedproc_03.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_storedproc_06.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_storedproc_07.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_storedproc_08.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_storedproc_10.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_storedproc_02.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_storedproc_03.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_storedproc_06.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_storedproc_07.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_storedproc_08.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_storedproc_10.test:
Cleanup
mysql-test/suite/funcs_1/triggers/trig_frkey2.inc:
Cleanup
mysql-test/suite/funcs_1/triggers/triggers_0102.inc:
Cleanup
mysql-test/suite/funcs_1/triggers/triggers_03.inc:
Backport from 5.1
mysql-test/suite/funcs_1/triggers/triggers_0407.inc:
Backport from 5.1
mysql-test/suite/funcs_1/triggers/triggers_08.inc:
Backport from 5.1
mysql-test/suite/funcs_1/triggers/triggers_09.inc:
Backport from 5.1
mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc:
Backport from 5.1
mysql-test/suite/funcs_1/views/func_view.inc:
Backport from 5.1
mysql-test/suite/funcs_1/views/views_master.inc:
Cleanup
mysql-test/std_data/funcs_1/load_file.txt:
New BitKeeper file ``mysql-test/std_data/funcs_1/load_file.txt''
BitKeeper/etc/ignore:
Added mysql-test/mysql-test-run-shell to the ignore list
mysql-test/suite/funcs_2/include/check_charset.inc:
finished files with newline