mirror of
https://github.com/MariaDB/server.git
synced 2025-02-22 21:33:08 +01: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>
15 lines
605 B
Text
15 lines
605 B
Text
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';
|
|
CALL sys.diagnostics(0, 0, 'full');
|
|
summary
|
|
Disabled 1 thread
|
|
ERROR 45000: in_max_runtime must be greater than 0
|
|
CALL sys.diagnostics(2, 0, 'full');
|
|
ERROR 45000: in_interval must be greater than 0
|
|
CALL sys.diagnostics(1, 2, 'full');
|
|
ERROR 45000: in_max_runtime must be greater than or equal to in_interval
|