mirror of
https://github.com/MariaDB/server.git
synced 2025-02-12 00:15:35 +01:00
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;
|