mirror of
https://github.com/MariaDB/server.git
synced 2025-07-14 07:18:12 +02:00

- The problem: ============== - Commitf7216fa63d
created the check function for default temporary storage engine and in case the SE doesn't support temporary tables the error `ER_ILLEGAL_HA_CREATE_OPTION` is raised. Before that commit in such cases temporary tables were created by silently substituting default SE (RocksDB, Connect, PerfSchema) with MyISAM. - The test `pr_diagnostics.test` was modified in that commit with raising the error, since I didn't check the root cause of test itself. - The solution: =============== - This commit update the root case: procedure `ps_setup_save()` that uses temporary tables created from performance schema tables definition using `LIKE`, what is not supported. The suggested fix is to use InnoDB table by using `AS SELECT`. - Note that test `pr_diagnostics` will raise this error for `medium/full` third argument, but not for `current` value of third argument. - Additionally this patch updates the test case of commitf7216fa
, by adding missing relation between temporary tables and Performance schema in `perfschema.misc` test. - Reviewed by: <wlad@mariadb.com>
35 lines
1.3 KiB
Text
35 lines
1.3 KiB
Text
########### suite/sysschema/t/pr_diagnostics.test #############
|
|
# #
|
|
# Testing of of the sys.diagnostics()) procedure #
|
|
# #
|
|
# Creation: #
|
|
# 2015-07-28 jkrogh Implement this test as part of #
|
|
# WL#7804 REPORT FOR SUPPORT #
|
|
# #
|
|
###############################################################
|
|
|
|
-- source include/not_embedded.inc
|
|
|
|
# Sanity check that the procedure completes two iterations with full debug,
|
|
# raw output, and Information Schema table outputs without generating
|
|
# any warnings.
|
|
|
|
--disable_result_log
|
|
SET @sys.debug = 'ON',
|
|
@sys.diagnostics.allow_i_s_tables = 'ON',
|
|
@sys.diagnostics.include_raw = 'ON';
|
|
|
|
CALL sys.diagnostics(4, 2, 'full');
|
|
|
|
SET @sys.debug = 'OFF',
|
|
@sys.diagnostics.allow_i_s_tables = 'OFF',
|
|
@sys.diagnostics.include_raw = 'OFF';
|
|
--enable_result_log
|
|
|
|
# Check input variable validation
|
|
-- error S45000
|
|
CALL sys.diagnostics(0, 0, 'full');
|
|
-- error S45000
|
|
CALL sys.diagnostics(2, 0, 'full');
|
|
-- error S45000
|
|
CALL sys.diagnostics(1, 2, 'full');
|