mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	 0a5e4a0191
			
		
	
	
	0a5e4a0191
	
	
	
		
			
			Updated tests: cases with bugs or which cannot be run with the cursor-protocol were excluded with "--disable_cursor_protocol"/"--enable_cursor_protocol" Fix for v.10.5
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| if (`select count(*) = 0 from information_schema.plugins where plugin_name = 'feedback' and plugin_status='active'`)
 | |
| {
 | |
|   --skip Feedback plugin is not active
 | |
| }
 | |
| if (`select @@feedback_url = ""`)
 | |
| {
 | |
|   --skip Feedback plugin is not active
 | |
| }
 | |
| 
 | |
| select plugin_status from information_schema.plugins where plugin_name='feedback';
 | |
| 
 | |
| # Every SELECT from INFORMATION_SCHEMA.FEEDBACK increases the value of 'FEEDBACK used'.
 | |
| # We cannot record the actual value, because the test can be executed more than once,
 | |
| # but we can check that the value indeed increases as expected.
 | |
| # There is still a room for some race condition, e.g. if at the very moment
 | |
| # between first SELECT to store the value and the next SELECT to check that it increases,
 | |
| # the feedback plugin is activated. But the probability of it is close to 0,
 | |
| # so lets get back to it if it ever happens.
 | |
| 
 | |
| # Lets say the plugin was used X times before this SELECT
 | |
| --disable_cursor_protocol
 | |
| SELECT variable_value INTO @feedback_used FROM information_schema.feedback where variable_name = 'FEEDBACK used';
 | |
| --enable_cursor_protocol
 | |
| 
 | |
| # Now $feedback_used == X+1, and 'FEEDBACK used' is also X+1. And variable_value is increased again when we run the next SELECT
 | |
| SELECT variable_value = @feedback_used + 1 as 'MUST BE 1' FROM information_schema.feedback where variable_name = 'FEEDBACK used';
 | |
| 
 | |
| # Now when we are happy with 'FEEDBACK used', we can check everything else
 | |
| 
 | |
| --replace_result https http
 | |
| --sorted_result
 | |
| select * from information_schema.feedback where variable_name like 'feed%'
 | |
|        and variable_name not like '%_uid' and variable_name not like 'FEEDBACK used'
 | |
|        and variable_name not like '%debug%';
 | |
| 
 | |
| # Embedded server does not use the table mysqld.user and thus
 | |
| # does not automatically use utf8mb4 on startup. Use it manually.
 | |
| --disable_query_log
 | |
| if (`SELECT VERSION() LIKE '%embedded%'`)
 | |
| {
 | |
|   create temporary table t1 (a json);
 | |
| }
 | |
| --enable_query_log
 | |
| SELECT VARIABLE_VALUE>0, VARIABLE_NAME FROM INFORMATION_SCHEMA.FEEDBACK
 | |
| WHERE VARIABLE_NAME LIKE 'Collation used %'
 | |
| ORDER BY VARIABLE_NAME;
 | |
| 
 | |
| prepare stmt from "SELECT VARIABLE_VALUE>0, VARIABLE_NAME FROM INFORMATION_SCHEMA.FEEDBACK WHERE VARIABLE_NAME LIKE 'Collation used %' ORDER BY VARIABLE_NAME";
 | |
| 
 | |
| execute stmt;
 | |
| execute stmt;
 | |
| 
 | |
| deallocate prepare stmt;
 |