mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 10:56:12 +01:00 
			
		
		
		
	 56fd0d7b06
			
		
	
	
	56fd0d7b06
	
	
	
		
			
			- The problem: ============== - Commitf7216fa63dcreated 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
 |