1create table test.sanity(
2`SHOW_MODE` varchar(48) NOT NULL,
3`SOURCE` varchar(64) NOT NULL,
4`VARIABLE_NAME` varchar(64) NOT NULL);
5select thread_id from performance_schema.threads
6where processlist_id = connection_id()
7into @my_tid;
8select @@global.show_compatibility_56 into @show_compatibility_56_save;
9set @my_user='root';
10set @my_host='localhost';
11
12================================================================================
13SHOW_COMPATIBILITY_56 = ON
14================================================================================
15set global show_compatibility_56 = on;
16
17# STEP 1-1
18insert into test.sanity
19select "5.6", "I_S.GLOBAL_VARIABLES", variable_name
20from information_schema.global_variables;
21Warnings:
22Warning	1287	'INFORMATION_SCHEMA.GLOBAL_VARIABLES' is deprecated and will be removed in a future release. Please use performance_schema.global_variables instead
23
24# STEP 1-2
25insert into test.sanity
26select "5.6", "I_S.SESSION_VARIABLES", variable_name
27from information_schema.session_variables;
28Warnings:
29Warning	1287	'INFORMATION_SCHEMA.SESSION_VARIABLES' is deprecated and will be removed in a future release. Please use performance_schema.session_variables instead
30
31# STEP 1-3
32insert into test.sanity
33select "5.6", "P_S.GLOBAL_VARIABLES", variable_name
34from performance_schema.global_variables;
35
36# STEP 1-4
37insert into test.sanity
38select "5.6", "P_S.VARIABLES_BY_THREAD", variable_name
39from performance_schema.variables_by_thread
40where thread_id = @my_tid;
41
42# STEP 1-5
43insert into test.sanity
44select "5.6", "P_S.SESSION_VARIABLES", variable_name
45from performance_schema.session_variables;
46
47# STEP 1-6
48insert into test.sanity
49select "5.6", "I_S.GLOBAL_STATUS", variable_name
50from information_schema.global_status;
51Warnings:
52Warning	1287	'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead
53
54# STEP 1-7
55insert into test.sanity
56select "5.6", "I_S.SESSION_STATUS", variable_name
57from information_schema.session_status;
58Warnings:
59Warning	1287	'INFORMATION_SCHEMA.SESSION_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.session_status instead
60
61# STEP 1-8
62insert into test.sanity
63select "5.6", "P_S.GLOBAL_STATUS", variable_name
64from performance_schema.global_status;
65
66# STEP 1-9
67# EMPTY, NO WARNINGS (not available in 5.6 mode)
68select *
69from performance_schema.status_by_thread;
70THREAD_ID	VARIABLE_NAME	VARIABLE_VALUE
71
72# STEP 1-10
73insert into test.sanity
74select "5.6", "P_S.SESSION_STATUS", variable_name
75from performance_schema.session_status;
76
77# STEP 1-11
78# EMPTY, NO WARNINGS (not available in 5.6 mode)
79select *
80from performance_schema.status_by_account;
81USER	HOST	VARIABLE_NAME	VARIABLE_VALUE
82
83# STEP 1-12
84# EMPTY, NO WARNINGS (not available in 5.6 mode)
85select *
86from performance_schema.status_by_user;
87USER	VARIABLE_NAME	VARIABLE_VALUE
88
89# STEP 1-13
90# EMPTY, NO WARNINGS (not available in 5.6 mode)
91select *
92from performance_schema.status_by_host;
93HOST	VARIABLE_NAME	VARIABLE_VALUE
94
95================================================================================
96SHOW_COMPATIBILITY_56 = OFF
97================================================================================
98set global show_compatibility_56 = off;
99
100# STEP 2-1
101# FAILS WITH ERROR
102select *
103from information_schema.global_variables;
104ERROR HY000: The 'INFORMATION_SCHEMA.GLOBAL_VARIABLES' feature is disabled; see the documentation for 'show_compatibility_56'
105
106# STEP 2-2
107# FAILS WITH ERROR
108select *
109from information_schema.session_variables;
110ERROR HY000: The 'INFORMATION_SCHEMA.SESSION_VARIABLES' feature is disabled; see the documentation for 'show_compatibility_56'
111
112# STEP 2-3
113insert into test.sanity
114select "5.7", "P_S.GLOBAL_VARIABLES", variable_name
115from performance_schema.global_variables;
116
117# STEP 2-4
118insert into test.sanity
119select "5.7", "P_S.VARIABLES_BY_THREAD", variable_name
120from performance_schema.variables_by_thread
121where thread_id = @my_tid;
122
123# STEP 2-5
124insert into test.sanity
125select "5.7", "P_S.SESSION_VARIABLES", variable_name
126from performance_schema.session_variables;
127
128# STEP 2-6
129# FAILS WITH ERROR
130select *
131from information_schema.global_status;
132ERROR HY000: The 'INFORMATION_SCHEMA.GLOBAL_STATUS' feature is disabled; see the documentation for 'show_compatibility_56'
133
134# STEP 2-7
135# FAILS WITH ERROR
136select *
137from information_schema.session_status;
138ERROR HY000: The 'INFORMATION_SCHEMA.SESSION_STATUS' feature is disabled; see the documentation for 'show_compatibility_56'
139
140# STEP 2-8
141insert into test.sanity
142select "5.7", "P_S.GLOBAL_STATUS", variable_name
143from performance_schema.global_status;
144
145# STEP 2-9
146insert into test.sanity
147select "5.7", "P_S.STATUS_BY_THREAD", variable_name
148from performance_schema.status_by_thread
149where thread_id = @my_tid;
150
151# STEP 2-10
152insert into test.sanity
153select "5.7", "P_S.SESSION_STATUS", variable_name
154from performance_schema.session_status;
155
156# STEP 2-11
157insert into test.sanity
158select "5.7", "P_S.STATUS_BY_ACCOUNT", variable_name
159from performance_schema.status_by_account
160where `user` = @my_user and `host` = @my_host;
161
162# STEP 2-12
163insert into test.sanity
164select "5.7", "P_S.STATUS_BY_USER", variable_name
165from performance_schema.status_by_user
166where `user` = @my_user;
167
168# STEP 2-13
169insert into test.sanity
170select "5.7", "P_S.STATUS_BY_HOST", variable_name
171from performance_schema.status_by_host
172where `host` = @my_host;
173
174# STEP 2-14
175# Known global variables in 5.6 that should not display in session queries.
176# These should be global-only system variables.
177
178# STEP 2-15
179# Known global status in 5.6 that should not exist in session queries.
180# These should be global-only status variables.
181
182# STEP 2-15A
183# COM counters appear in I_S.SESSION_STATUS, but not in P_S.SESSION_STATUS
184
185# STEP 2-15B
186# These slave status counters appear in I_S.SESSION_STATUS, but not in P_S.SESSION_STATUS
187insert into test.sanity values
188("JUNK: SLAVE-ONLY", "I_S.SESSION_STATUS", "SLAVE_HEARTBEAT_PERIOD"),
189("JUNK: SLAVE-ONLY", "I_S.SESSION_STATUS", "SLAVE_LAST_HEARTBEAT"),
190("JUNK: SLAVE-ONLY", "I_S.SESSION_STATUS", "SLAVE_RECEIVED_HEARTBEATS"),
191("JUNK: SLAVE-ONLY", "I_S.SESSION_STATUS", "SLAVE_RETRIED_TRANSACTIONS"),
192("JUNK: SLAVE-ONLY", "I_S.SESSION_STATUS", "SLAVE_RUNNING")
193;
194
195# STEP 2-16
196# Known session-only status in 5.6 that should not exist in global queries.
197insert into test.sanity values
198("JUNK: SESSION-ONLY", "I_S.GLOBAL_STATUS", "COMPRESSION"),
199("JUNK: SESSION-ONLY", "I_S.GLOBAL_STATUS", "LAST_QUERY_COST"),
200("JUNK: SESSION-ONLY", "I_S.GLOBAL_STATUS", "LAST_QUERY_PARTIAL_PLANS")
201;
202
203# STEP 2-16A
204# COM counters appear in I_S.GLOBAL_STATUS but not in P_S.GLOBAL_STATUS
205
206# STEP 2-16B
207# These slave status counters appear in I_S.GLOBAL_STATUS, but not in P_S.GLOBAL_STATUS
208insert into test.sanity values
209("JUNK: SLAVE-ONLY", "I_S.GLOBAL_STATUS", "SLAVE_HEARTBEAT_PERIOD"),
210("JUNK: SLAVE-ONLY", "I_S.GLOBAL_STATUS", "SLAVE_LAST_HEARTBEAT"),
211("JUNK: SLAVE-ONLY", "I_S.GLOBAL_STATUS", "SLAVE_RECEIVED_HEARTBEATS"),
212("JUNK: SLAVE-ONLY", "I_S.GLOBAL_STATUS", "SLAVE_RETRIED_TRANSACTIONS"),
213("JUNK: SLAVE-ONLY", "I_S.GLOBAL_STATUS", "SLAVE_RUNNING")
214;
215
216# STEP 2-17
217# Status variables that should not exist in queries that aggregate across threads.
218# Criteria: Session-only OR non-aggregatable.
219insert into test.sanity values
220("JUNK", "NO AGGREGATE", "COMPRESSION"),
221("JUNK", "NO AGGREGATE", "LAST_QUERY_COST"),
222("JUNK", "NO AGGREGATE", "LAST_QUERY_PARTIAL_PLANS"),
223("JUNK", "NO AGGREGATE", "OPEN_TABLES"),
224("JUNK", "NO AGGREGATE", "QUERIES"),
225("JUNK", "NO AGGREGATE", "SLOW_LAUNCH_THREADS"),
226("JUNK", "NO AGGREGATE", "SSL_CIPHER"),
227("JUNK", "NO AGGREGATE", "SSL_CIPHER_LIST"),
228("JUNK", "NO AGGREGATE", "SSL_DEFAULT_TIMEOUT"),
229("JUNK", "NO AGGREGATE", "SSL_SERVER_NOT_AFTER"),
230("JUNK", "NO AGGREGATE", "SSL_SERVER_NOT_BEFORE"),
231("JUNK", "NO AGGREGATE", "SSL_SESSIONS_REUSED"),
232("JUNK", "NO AGGREGATE", "SSL_VERIFY_DEPTH"),
233("JUNK", "NO AGGREGATE", "SSL_VERIFY_MODE"),
234("JUNK", "NO AGGREGATE", "SSL_VERSION")
235;
236
237================================================================================
238TEST 1A
239Present in 5.6 P_S.GLOBAL_VARIABLES (1-3)
240Missing in 5.6 I_S.GLOBAL_VARIABLES (1-1)
241================================================================================
242select * from test.sanity
243where show_mode = "5.6"
244  and source = "P_S.GLOBAL_VARIABLES"
245  and upper(variable_name) not in (
246select upper(variable_name) from test.sanity
247where show_mode = "5.6"
248    and source = "I_S.GLOBAL_VARIABLES")
249order by show_mode, source, variable_name;
250SHOW_MODE	SOURCE	VARIABLE_NAME
251
252================================================================================
253TEST 1B
254Present in 5.7 P_S.GLOBAL_VARIABLES (2-3)
255Missing in 5.6 I_S.GLOBAL_VARIABLES (1-1)
256================================================================================
257select * from test.sanity
258where show_mode = "5.7"
259  and source = "P_S.GLOBAL_VARIABLES"
260  and upper(variable_name) not in (
261select upper(variable_name) from test.sanity
262where show_mode = "5.6"
263    and source = "I_S.GLOBAL_VARIABLES")
264order by show_mode, source, variable_name;
265SHOW_MODE	SOURCE	VARIABLE_NAME
266
267================================================================================
268TEST 2A
269Present in 5.6 I_S.GLOBAL_VARIABLES (1-1)
270Missing in 5.6 P_S.GLOBAL_VARIABLES (1-3)
271================================================================================
272select * from test.sanity
273where show_mode = "5.6"
274  and source = "I_S.GLOBAL_VARIABLES"
275  and upper(variable_name) not in (
276select upper(variable_name) from test.sanity
277where show_mode = "5.6"
278    and source = "P_S.GLOBAL_VARIABLES")
279order by show_mode, source, variable_name;
280SHOW_MODE	SOURCE	VARIABLE_NAME
2815.6	I_S.GLOBAL_VARIABLES	SQL_LOG_BIN
282
283================================================================================
284TEST 2B
285Present in 5.6 I_S.GLOBAL_VARIABLES (1-1)
286Missing in 5.7 P_S.GLOBAL_VARIABLES (2-3)
287================================================================================
288select * from test.sanity
289where show_mode = "5.6"
290  and source = "I_S.GLOBAL_VARIABLES"
291  and upper(variable_name) not in (
292select upper(variable_name) from test.sanity
293where show_mode = "5.7"
294    and source = "P_S.GLOBAL_VARIABLES")
295order by show_mode, source, variable_name;
296SHOW_MODE	SOURCE	VARIABLE_NAME
2975.6	I_S.GLOBAL_VARIABLES	SQL_LOG_BIN
298
299================================================================================
300TEST 3A
301Present in 5.6 P_S.SESSION_VARIABLES (1-5)
302Missing in 5.6 I_S.SESSION_VARIABLES (1-2)
303================================================================================
304select * from test.sanity
305where show_mode = "5.6"
306  and source = "P_S.SESSION_VARIABLES"
307  and upper(variable_name) not in (
308select upper(variable_name) from test.sanity
309where show_mode = "5.6"
310    and source = "I_S.SESSION_VARIABLES")
311order by show_mode, source, variable_name;
312SHOW_MODE	SOURCE	VARIABLE_NAME
313
314================================================================================
315TEST 3B
316Present in 5.7 P_S.SESSION_VARIABLES (2-5)
317Missing in 5.6 I_S.SESSION_VARIABLES (1-2)
318================================================================================
319select * from test.sanity
320where show_mode = "5.7"
321  and source = "P_S.SESSION_VARIABLES"
322  and upper(variable_name) not in (
323select upper(variable_name) from test.sanity
324where show_mode = "5.6"
325    and source = "I_S.SESSION_VARIABLES")
326order by show_mode, source, variable_name;
327SHOW_MODE	SOURCE	VARIABLE_NAME
328
329================================================================================
330TEST 4A
331Present in 5.6 I_S.SESSION_VARIABLES (1-2)
332Missing in 5.6 P_S.SESSION_VARIABLES (1-5)
333================================================================================
334select * from test.sanity
335where show_mode = "5.6"
336  and source = "I_S.SESSION_VARIABLES"
337  and upper(variable_name) not in (
338select upper(variable_name) from test.sanity
339where show_mode = "5.6"
340    and source = "P_S.SESSION_VARIABLES")
341order by show_mode, source, variable_name;
342SHOW_MODE	SOURCE	VARIABLE_NAME
3435.6	I_S.SESSION_VARIABLES	GTID_EXECUTED
344
345================================================================================
346TEST 4B
347Present in 5.6 I_S.SESSION_VARIABLES (1-2)
348Missing in 5.7 P_S.SESSION_VARIABLES (2-5)
349================================================================================
350select * from test.sanity
351where show_mode = "5.6"
352  and source = "I_S.SESSION_VARIABLES"
353  and upper(variable_name) not in (
354select upper(variable_name) from test.sanity
355where show_mode = "5.7"
356    and source = "P_S.SESSION_VARIABLES")
357order by show_mode, source, variable_name;
358SHOW_MODE	SOURCE	VARIABLE_NAME
3595.6	I_S.SESSION_VARIABLES	GTID_EXECUTED
360
361================================================================================
362TEST 5A
363Present in 5.6 P_S.VARIABLES_BY_THREAD (1-4)
364Missing in 5.6 I_S.SESSION_VARIABLES (1-2)
365================================================================================
366select * from test.sanity
367where show_mode = "5.6"
368  and source = "P_S.VARIABLES_BY_THREAD"
369  and upper(variable_name) not in (
370select upper(variable_name) from test.sanity
371where show_mode = "5.6"
372    and source = "I_S.SESSION_VARIABLES")
373order by show_mode, source, variable_name;
374SHOW_MODE	SOURCE	VARIABLE_NAME
375
376================================================================================
377TEST 5B
378Present in 5.7 P_S.VARIABLES_BY_THREAD (2-4)
379Missing in 5.6 I_S.SESSION_VARIABLES (1-2)
380================================================================================
381select * from test.sanity
382where show_mode = "5.7"
383  and source = "P_S.VARIABLES_BY_THREAD"
384  and upper(variable_name) not in (
385select upper(variable_name) from test.sanity
386where show_mode = "5.6"
387    and source = "I_S.SESSION_VARIABLES")
388order by show_mode, source, variable_name;
389SHOW_MODE	SOURCE	VARIABLE_NAME
390
391================================================================================
392TEST 5C
393Present in 5.6 I_S.SESSION_VARIABLES (1-2)
394Missing in 5.6 P_S.VARIABLES_BY_THREAD (1-4)
395EXPECT NOTHING BESIDE KNOWN GLOBAL VARIABLES (2-14)
396================================================================================
397select * from test.sanity
398where show_mode = "5.6"
399  and source = "I_S.SESSION_VARIABLES"
400  and upper(variable_name) not in (
401select upper(variable_name) from test.sanity
402where show_mode = "5.6"
403    and source = "P_S.VARIABLES_BY_THREAD")
404and upper(variable_name) not in (
405select upper(variable_name) from test.sanity
406where show_mode = "JUNK: GLOBAL-ONLY"
407    and source = "I_S.SESSION_VARIABLES")
408order by show_mode, source, variable_name;
409SHOW_MODE	SOURCE	VARIABLE_NAME
4105.6	I_S.SESSION_VARIABLES	BINLOG_TRANSACTION_DEPENDENCY_HISTORY_SIZE
4115.6	I_S.SESSION_VARIABLES	BINLOG_TRANSACTION_DEPENDENCY_TRACKING
4125.6	I_S.SESSION_VARIABLES	ENCRYPT_BINLOG
4135.6	I_S.SESSION_VARIABLES	GTID_EXECUTED
4145.6	I_S.SESSION_VARIABLES	INNODB_BACKGROUND_SCRUB_DATA_CHECK_INTERVAL
4155.6	I_S.SESSION_VARIABLES	INNODB_BACKGROUND_SCRUB_DATA_COMPRESSED
4165.6	I_S.SESSION_VARIABLES	INNODB_BACKGROUND_SCRUB_DATA_INTERVAL
4175.6	I_S.SESSION_VARIABLES	INNODB_BACKGROUND_SCRUB_DATA_UNCOMPRESSED
4185.6	I_S.SESSION_VARIABLES	INNODB_BUFFER_POOL_IN_CORE_FILE
4195.6	I_S.SESSION_VARIABLES	INNODB_COMPRESSED_COLUMNS_THRESHOLD
4205.6	I_S.SESSION_VARIABLES	INNODB_COMPRESSED_COLUMNS_ZIP_LEVEL
4215.6	I_S.SESSION_VARIABLES	INNODB_DEADLOCK_DETECT
4225.6	I_S.SESSION_VARIABLES	INNODB_IMMEDIATE_SCRUB_DATA_UNCOMPRESSED
4235.6	I_S.SESSION_VARIABLES	INNODB_SCRUB_LOG
4245.6	I_S.SESSION_VARIABLES	INNODB_SCRUB_LOG_SPEED
4255.6	I_S.SESSION_VARIABLES	INNODB_STATS_INCLUDE_DELETE_MARKED
4265.6	I_S.SESSION_VARIABLES	KEYRING_OPERATIONS
4275.6	I_S.SESSION_VARIABLES	KILL_IDLE_TRANSACTION
4285.6	I_S.SESSION_VARIABLES	LOG_STATEMENTS_UNSAFE_FOR_BINLOG
4295.6	I_S.SESSION_VARIABLES	REPLICATION_OPTIMIZE_FOR_STATIC_PLUGIN_CONFIG
4305.6	I_S.SESSION_VARIABLES	REPLICATION_SENDER_OBSERVE_COMMIT_ONLY
4315.6	I_S.SESSION_VARIABLES	TLS_VERSION
432
433================================================================================
434TEST 5D
435Present in 5.6 I_S.SESSION_VARIABLES (1-2)
436Missing in 5.7 P_S.VARIABLES_BY_THREAD (2-5)
437EXPECT NOTHING BESIDE KNOWN GLOBAL VARIABLES (2-14)
438================================================================================
439select * from test.sanity
440where show_mode = "5.6"
441  and source = "I_S.SESSION_VARIABLES"
442  and upper(variable_name) not in (
443select upper(variable_name) from test.sanity
444where show_mode = "5.7"
445    and source = "P_S.VARIABLES_BY_THREAD")
446and upper(variable_name) not in (
447select upper(variable_name) from test.sanity
448where show_mode = "JUNK: GLOBAL-ONLY"
449    and source = "I_S.SESSION_VARIABLES")
450order by show_mode, source, variable_name;
451SHOW_MODE	SOURCE	VARIABLE_NAME
4525.6	I_S.SESSION_VARIABLES	BINLOG_TRANSACTION_DEPENDENCY_HISTORY_SIZE
4535.6	I_S.SESSION_VARIABLES	BINLOG_TRANSACTION_DEPENDENCY_TRACKING
4545.6	I_S.SESSION_VARIABLES	ENCRYPT_BINLOG
4555.6	I_S.SESSION_VARIABLES	GTID_EXECUTED
4565.6	I_S.SESSION_VARIABLES	INNODB_BACKGROUND_SCRUB_DATA_CHECK_INTERVAL
4575.6	I_S.SESSION_VARIABLES	INNODB_BACKGROUND_SCRUB_DATA_COMPRESSED
4585.6	I_S.SESSION_VARIABLES	INNODB_BACKGROUND_SCRUB_DATA_INTERVAL
4595.6	I_S.SESSION_VARIABLES	INNODB_BACKGROUND_SCRUB_DATA_UNCOMPRESSED
4605.6	I_S.SESSION_VARIABLES	INNODB_BUFFER_POOL_IN_CORE_FILE
4615.6	I_S.SESSION_VARIABLES	INNODB_COMPRESSED_COLUMNS_THRESHOLD
4625.6	I_S.SESSION_VARIABLES	INNODB_COMPRESSED_COLUMNS_ZIP_LEVEL
4635.6	I_S.SESSION_VARIABLES	INNODB_DEADLOCK_DETECT
4645.6	I_S.SESSION_VARIABLES	INNODB_IMMEDIATE_SCRUB_DATA_UNCOMPRESSED
4655.6	I_S.SESSION_VARIABLES	INNODB_SCRUB_LOG
4665.6	I_S.SESSION_VARIABLES	INNODB_SCRUB_LOG_SPEED
4675.6	I_S.SESSION_VARIABLES	INNODB_STATS_INCLUDE_DELETE_MARKED
4685.6	I_S.SESSION_VARIABLES	KEYRING_OPERATIONS
4695.6	I_S.SESSION_VARIABLES	KILL_IDLE_TRANSACTION
4705.6	I_S.SESSION_VARIABLES	LOG_STATEMENTS_UNSAFE_FOR_BINLOG
4715.6	I_S.SESSION_VARIABLES	REPLICATION_OPTIMIZE_FOR_STATIC_PLUGIN_CONFIG
4725.6	I_S.SESSION_VARIABLES	REPLICATION_SENDER_OBSERVE_COMMIT_ONLY
4735.6	I_S.SESSION_VARIABLES	TLS_VERSION
474
475================================================================================
476TEST 5E
477KNOWN GLOBAL VARIABLES (2-14)
478Expect missing in 5.6 P_S.VARIABLES_BY_THREAD (1-4)
479================================================================================
480select * from test.sanity
481where show_mode = "JUNK: GLOBAL-ONLY"
482  and source = "I_S.SESSION_VARIABLES"
483  and upper(variable_name) in (
484select upper(variable_name) from test.sanity
485where show_mode = "5.6"
486    and source = "P_S.VARIABLES_BY_THREAD")
487order by show_mode, source, variable_name;
488SHOW_MODE	SOURCE	VARIABLE_NAME
489
490================================================================================
491TEST 5F
492KNOWN GLOBAL VARIABLES (2-14)
493Expect missing in 5.7 P_S.VARIABLES_BY_THREAD (2-5)
494================================================================================
495select * from test.sanity
496where show_mode = "JUNK: GLOBAL-ONLY"
497  and source = "I_S.SESSION_VARIABLES"
498  and upper(variable_name) in (
499select upper(variable_name) from test.sanity
500where show_mode = "5.7"
501    and source = "P_S.VARIABLES_BY_THREAD")
502order by show_mode, source, variable_name;
503SHOW_MODE	SOURCE	VARIABLE_NAME
504
505================================================================================
506TEST 6A
507Present in 5.7 P_S.GLOBAL_STATUS (2-8)
508Missing in 5.6 I_S.GLOBAL_STATUS (1-6)
509EXPECT NOTHING
510================================================================================
511select * from test.sanity
512where show_mode = "5.7"
513  and source = "P_S.GLOBAL_STATUS"
514  and upper(variable_name) not in (
515select upper(variable_name) from test.sanity
516where show_mode = "5.6"
517    and source = "I_S.GLOBAL_STATUS")
518order by show_mode, source, variable_name;
519SHOW_MODE	SOURCE	VARIABLE_NAME
520
521================================================================================
522TEST 6B
523Present in 5.7 P_S.GLOBAL_STATUS (2-8)
524Missing in 5.6 P_S.GLOBAL_STATUS (1-8)
525EXPECT NOTHING
526================================================================================
527select * from test.sanity
528where show_mode = "5.7"
529  and source = "P_S.GLOBAL_STATUS"
530  and upper(variable_name) not in (
531select upper(variable_name) from test.sanity
532where show_mode = "5.6"
533    and source = "P_S.GLOBAL_STATUS")
534order by show_mode, source, variable_name;
535SHOW_MODE	SOURCE	VARIABLE_NAME
536
537================================================================================
538TEST 6C
539Present in 5.6 P_S.GLOBAL_STATUS (1-8)
540Missing in 5.7 P_S.GLOBAL_STATUS (2-8)
541EXPECT NOTHING
542================================================================================
543select * from test.sanity
544where show_mode = "5.6"
545  and source = "P_S.GLOBAL_STATUS"
546  and upper(variable_name) not in (
547select upper(variable_name) from test.sanity
548where show_mode = "5.7"
549    and source = "P_S.GLOBAL_STATUS")
550order by show_mode, source, variable_name;
551SHOW_MODE	SOURCE	VARIABLE_NAME
552
553================================================================================
554TEST 7
555Present in 5.6 I_S.GLOBAL_STATUS (1-6)
556Missing in 5.7 P_S.GLOBAL_STATUS (2-8)
557EXPECT NOTHING AFTER REMOVING KNOWN SESSION-ONLY, COM COUNTERS AND SLAVE-ONLY (2-16 & 2-16A & 2-16B)
558================================================================================
559select * from test.sanity
560where show_mode = "5.6"
561  and source = "I_S.GLOBAL_STATUS"
562  and upper(variable_name) not in (
563select upper(variable_name) from test.sanity
564where (show_mode = "JUNK: SESSION-ONLY" or show_mode = "JUNK: COM COUNTER" or show_mode = "JUNK: SLAVE-ONLY")
565and source = "I_S.GLOBAL_STATUS")
566and upper(variable_name) not in (
567select upper(variable_name) from test.sanity
568where show_mode = "5.7"
569    and source = "P_S.GLOBAL_STATUS")
570order by show_mode, source, variable_name;
571SHOW_MODE	SOURCE	VARIABLE_NAME
5725.6	I_S.GLOBAL_STATUS	COM_CREATE_COMPRESSION_DICTIONARY
5735.6	I_S.GLOBAL_STATUS	COM_DROP_COMPRESSION_DICTIONARY
5745.6	I_S.GLOBAL_STATUS	COM_SHUTDOWN
575
576================================================================================
577TEST 8
578KNOWN SESSION-ONLY (2-16)
579KNOWN COM COUNTERS (2-16A)
580KNOWN SLAVE-ONLY (2-16B)
581Status variables that should NOT be present in 5.7 P_S.GLOBAL_STATUS (2-8)
582EXPECT NOTHING
583================================================================================
584select * from test.sanity
585where show_mode = "5.7"
586  and source = "P_S.GLOBAL_STATUS"
587  and upper(variable_name) in (
588select upper(variable_name) from test.sanity
589where (show_mode = "JUNK: SESSION-ONLY" or show_mode = "JUNK: COM COUNTER" or show_mode = "JUNK: SLAVE-ONLY")
590and source = "I_S.GLOBAL_STATUS")
591order by show_mode, source, variable_name;
592SHOW_MODE	SOURCE	VARIABLE_NAME
593
594================================================================================
595TEST 9A
596Present in 5.7 P_S.SESSION_STATUS (2-10)
597Missing in 5.6 I_S.SESSION_STATUS (1-7)
598EXPECT NOTHING
599================================================================================
600select * from test.sanity
601where show_mode = "5.7"
602  and source = "P_S.SESSION_STATUS"
603  and upper(variable_name) not in (
604select upper(variable_name) from test.sanity
605where show_mode = "5.6"
606    and source = "I_S.SESSION_STATUS")
607order by show_mode, source, variable_name;
608SHOW_MODE	SOURCE	VARIABLE_NAME
609
610================================================================================
611TEST 9B
612Present in 5.7 P_S.SESSION_STATUS (2-10)
613Missing in 5.6 P_S.SESSION_STATUS (1-10)
614EXPECT NOTHING
615================================================================================
616select * from test.sanity
617where show_mode = "5.7"
618  and source = "P_S.SESSION_STATUS"
619  and upper(variable_name) not in (
620select upper(variable_name) from test.sanity
621where show_mode = "5.6"
622    and source = "P_S.SESSION_STATUS")
623order by show_mode, source, variable_name;
624SHOW_MODE	SOURCE	VARIABLE_NAME
625
626================================================================================
627TEST 9C
628Present in 5.6 P_S.SESSION_STATUS (1-10)
629Missing in 5.7 P_S.SESSION_STATUS (2-10)
630EXPECT NOTHING
631================================================================================
632select * from test.sanity
633where show_mode = "5.6"
634  and source = "P_S.SESSION_STATUS"
635  and upper(variable_name) not in (
636select upper(variable_name) from test.sanity
637where show_mode = "5.7"
638    and source = "P_S.SESSION_STATUS")
639order by show_mode, source, variable_name;
640SHOW_MODE	SOURCE	VARIABLE_NAME
641
642================================================================================
643TEST 10
644Present in 5.6 I_S.SESSION_STATUS (1-7)
645Missing in 5.7 P_S.SESSION_STATUS (2-10)
646EXPECT NOTHING AFTER REMOVING KNOWN COM COUNTERS AND SLAVE-ONLY (2-15A & 2-15B)
647================================================================================
648select * from test.sanity
649where show_mode = "5.6"
650  and source = "I_S.SESSION_STATUS"
651  and upper(variable_name) not in (
652select upper(variable_name) from test.sanity
653where (show_mode = "JUNK: COM COUNTER" or show_mode = "JUNK: SLAVE-ONLY")
654and source = "I_S.SESSION_STATUS")
655and upper(variable_name) not in (
656select upper(variable_name) from test.sanity
657where show_mode = "5.7"
658    and source = "P_S.SESSION_STATUS")
659order by show_mode, source, variable_name;
660SHOW_MODE	SOURCE	VARIABLE_NAME
6615.6	I_S.SESSION_STATUS	COM_CREATE_COMPRESSION_DICTIONARY
6625.6	I_S.SESSION_STATUS	COM_DROP_COMPRESSION_DICTIONARY
6635.6	I_S.SESSION_STATUS	COM_SHUTDOWN
664
665================================================================================
666TEST 11
667KNOWN COM COUNTERS (2-15A)
668KNOWN SLAVE-ONLY (2-15B)
669Status variables that should NOT be present in 5.7 P_S.SESSION_STATUS (2-10)
670EXPECT NOTHING
671================================================================================
672select * from test.sanity
673where show_mode = "5.7"
674  and source = "P_S.SESSION_STATUS"
675  and upper(variable_name) in (
676select upper(variable_name) from test.sanity
677where (show_mode = "JUNK: COM COUNTER" or show_mode = "JUNK: SLAVE-ONLY")
678and source = "I_S.SESSION_STATUS")
679order by show_mode, source, variable_name;
680SHOW_MODE	SOURCE	VARIABLE_NAME
681
682================================================================================
683TEST 12
684Present in 5.7 P_S.SESSION_STATUS (2-10)
685Missing in 5.7 P_S.STATUS_BY_THREAD
686EXPECT NOTHING AFTER REMOVING KNOWN GLOBAL-ONLY (2-15)
687================================================================================
688select * from test.sanity
689where show_mode = "5.7"
690  and source = "P_S.SESSION_STATUS"
691  and upper(variable_name) not in (
692select upper(variable_name) from test.sanity
693where show_mode = "5.7"
694    and source = "P_S.STATUS_BY_THREAD")
695and upper(variable_name) not in (
696select upper(variable_name) from test.sanity
697where (show_mode = "JUNK: GLOBAL-ONLY")
698and source = "I_S.SESSION_STATUS")
699order by show_mode, source, variable_name;
700SHOW_MODE	SOURCE	VARIABLE_NAME
7015.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_reorganizations
7025.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_splits
7035.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_missing_index
7045.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_out_of_filespace
7055.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_underflow
7065.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_unknown
7075.7	P_S.SESSION_STATUS	Innodb_scrub_log
708
709================================================================================
710TEST 13
711Present in 5.7 P_S.STATUS_BY_THREAD
712Missing in 5.7 P_S.SESSION_STATUS (2-10)
713EXPECT NOTHING
714================================================================================
715select * from test.sanity
716where show_mode = "5.7"
717  and source = "P_S.STATUS_BY_THREAD"
718  and upper(variable_name) not in (
719select upper(variable_name) from test.sanity
720where show_mode = "5.7"
721    and source = "P_S.SESSION_STATUS")
722order by show_mode, source, variable_name;
723SHOW_MODE	SOURCE	VARIABLE_NAME
724
725================================================================================
726TEST 14
727Present in 5.7 P_S.SESSION_STATUS (2-10)
728Missing in 5.7 P_S.STATUS_BY_ACCOUNT
729EXPECT NOTHING AFTER REMOVING
730- KNOWN GLOBAL-ONLY (2-15)
731- STATUS VARS THAT CAN'T BE AGGREGATED (2-17)
732================================================================================
733select * from test.sanity
734where show_mode = "5.7"
735  and source = "P_S.SESSION_STATUS"
736  and upper(variable_name) not in (
737select upper(variable_name) from test.sanity
738where show_mode = "JUNK"
739    and source = "NO AGGREGATE")
740and upper(variable_name) not in (
741select upper(variable_name) from test.sanity
742where (show_mode = "JUNK: GLOBAL-ONLY")
743and source = "I_S.SESSION_STATUS")
744and upper(variable_name) not in (
745select upper(variable_name) from test.sanity
746where show_mode = "5.7"
747    and source = "P_S.STATUS_BY_ACCOUNT")
748order by show_mode, source, variable_name;
749SHOW_MODE	SOURCE	VARIABLE_NAME
7505.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_reorganizations
7515.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_splits
7525.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_missing_index
7535.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_out_of_filespace
7545.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_underflow
7555.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_unknown
7565.7	P_S.SESSION_STATUS	Innodb_scrub_log
757
758================================================================================
759TEST 15
760Present in 5.7 P_S.STATUS_BY_ACCOUNT
761Missing in 5.7 P_S.SESSION_STATUS (2-10)
762EXPECT NOTHING
763================================================================================
764select * from test.sanity
765where show_mode = "5.7"
766  and source = "P_S.STATUS_BY_ACCOUNT"
767  and upper(variable_name) not in (
768select upper(variable_name) from test.sanity
769where show_mode = "5.7"
770    and source = "P_S.SESSION_STATUS")
771order by show_mode, source, variable_name;
772SHOW_MODE	SOURCE	VARIABLE_NAME
773
774================================================================================
775TEST 16
776KNOWN STATUS VARS THAT CAN'T BE AGGREGATED (2-17)
777Status variables that should NOT be present in 5.7 P_S.STATUS_BY_ACCOUNT
778================================================================================
779select * from performance_schema.status_by_account
780where upper(variable_name) in (
781select upper(variable_name) from test.sanity
782where show_mode = "JUNK"
783    and source = "NO AGGREGATE")
784order by variable_name;
785USER	HOST	VARIABLE_NAME	VARIABLE_VALUE
786
787================================================================================
788TEST 17
789Present in 5.7 P_S.SESSION_STATUS (2-10)
790Missing in 5.7 P_S.STATUS_BY_USER
791EXPECT NOTHING AFTER REMOVING
792- KNOWN GLOBAL-ONLY (2-15)
793- STATUS VARS THAT CAN'T BE AGGREGATED (2-17)
794================================================================================
795select * from test.sanity
796where show_mode = "5.7"
797  and source = "P_S.SESSION_STATUS"
798  and upper(variable_name) not in (
799select upper(variable_name) from test.sanity
800where show_mode = "JUNK"
801    and source = "NO AGGREGATE")
802and upper(variable_name) not in (
803select upper(variable_name) from test.sanity
804where (show_mode = "JUNK: GLOBAL-ONLY")
805and source = "I_S.SESSION_STATUS")
806and upper(variable_name) not in (
807select upper(variable_name) from test.sanity
808where show_mode = "5.7"
809    and source = "P_S.STATUS_BY_USER")
810order by show_mode, source, variable_name;
811SHOW_MODE	SOURCE	VARIABLE_NAME
8125.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_reorganizations
8135.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_splits
8145.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_missing_index
8155.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_out_of_filespace
8165.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_underflow
8175.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_unknown
8185.7	P_S.SESSION_STATUS	Innodb_scrub_log
819
820================================================================================
821TEST 18
822Present in 5.7 P_S.STATUS_BY_USER
823Missing in 5.7 P_S.SESSION_STATUS (2-10)
824================================================================================
825select * from test.sanity
826where show_mode = "5.7"
827  and source = "P_S.STATUS_BY_USER"
828  and upper(variable_name) not in (
829select upper(variable_name) from test.sanity
830where show_mode = "5.7"
831    and source = "P_S.SESSION_STATUS")
832order by show_mode, source, variable_name;
833SHOW_MODE	SOURCE	VARIABLE_NAME
834
835================================================================================
836TEST 19
837KNOWN STATUS VARS THAT CAN'T BE AGGREGATED (2-17)
838Status variables that should NOT be present in 5.7 P_S.STATUS_BY_USER
839================================================================================
840select * from performance_schema.status_by_user
841where upper(variable_name) in (
842select upper(variable_name) from test.sanity
843where show_mode = "JUNK"
844    and source = "NO AGGREGATE")
845order by variable_name;
846USER	VARIABLE_NAME	VARIABLE_VALUE
847
848================================================================================
849TEST 20
850Present in 5.7 P_S.SESSION_STATUS (2-10)
851Missing in 5.7 P_S.STATUS_BY_HOST
852EXPECT NOTHING AFTER REMOVING
853- KNOWN GLOBAL-ONLY (2-15)
854- STATUS VARS THAT CAN'T BE AGGREGATED (2-17)
855================================================================================
856select * from test.sanity
857where show_mode = "5.7"
858  and source = "P_S.SESSION_STATUS"
859  and upper(variable_name) not in (
860select upper(variable_name) from test.sanity
861where show_mode = "JUNK"
862    and source = "NO AGGREGATE")
863and upper(variable_name) not in (
864select upper(variable_name) from test.sanity
865where (show_mode = "JUNK: GLOBAL-ONLY")
866and source = "I_S.SESSION_STATUS")
867and upper(variable_name) not in (
868select upper(variable_name) from test.sanity
869where show_mode = "5.7"
870    and source = "P_S.STATUS_BY_HOST")
871order by show_mode, source, variable_name;
872SHOW_MODE	SOURCE	VARIABLE_NAME
8735.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_reorganizations
8745.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_splits
8755.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_missing_index
8765.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_out_of_filespace
8775.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_underflow
8785.7	P_S.SESSION_STATUS	Innodb_scrub_background_page_split_failures_unknown
8795.7	P_S.SESSION_STATUS	Innodb_scrub_log
880
881================================================================================
882TEST 21
883Present in 5.7 P_S.STATUS_BY_HOST
884Missing in 5.7 P_S.SESSION_STATUS (2-10)
885================================================================================
886select * from test.sanity
887where show_mode = "5.7"
888  and source = "P_S.STATUS_BY_HOST"
889  and upper(variable_name) not in (
890select upper(variable_name) from test.sanity
891where show_mode = "5.7"
892    and source = "P_S.SESSION_STATUS")
893order by show_mode, source, variable_name;
894SHOW_MODE	SOURCE	VARIABLE_NAME
895
896================================================================================
897TEST 22
898KNOWN STATUS VARS THAT CAN'T BE AGGREGATED (2-17)
899Status variables that should NOT be present in 5.7 P_S.STATUS_BY_HOST
900================================================================================
901select * from performance_schema.status_by_host
902where upper(variable_name) in (
903select upper(variable_name) from test.sanity
904where show_mode = "JUNK"
905    and source = "NO AGGREGATE")
906order by variable_name;
907HOST	VARIABLE_NAME	VARIABLE_VALUE
908
909================================================================================
910CLEAN UP
911================================================================================
912set @@global.show_compatibility_56 = @show_compatibility_56_save;
913drop table test.sanity;
914