1--source ../include/mdev_24517_init.inc
2--echo
3--echo this test is for MDEV-24517
4--echo
5--echo drop and create databases
6
7--connection master_1
8--disable_warnings
9CREATE DATABASE auto_test_local;
10USE auto_test_local;
11
12--connection child2_1
13SET @old_log_output = @@global.log_output;
14SET GLOBAL log_output = 'TABLE,FILE';
15CREATE DATABASE auto_test_remote;
16USE auto_test_remote;
17--enable_warnings
18
19--echo
20--echo create table and insert
21
22--connection child2_1
23--disable_query_log
24--disable_ps_protocol
25echo CHILD2_1_CREATE_TABLES;
26eval $CHILD2_1_CREATE_TABLES;
27--enable_ps_protocol
28--enable_query_log
29TRUNCATE TABLE mysql.general_log;
30
31--connection master_1
32--disable_query_log
33echo CREATE TABLE tbl_a (
34  i INT,
35  j JSON,
36  PRIMARY KEY(i)
37) $MASTER_1_ENGINE $MASTER_1_COMMENT_P_2_1;
38eval CREATE TABLE tbl_a (
39  i INT,
40  j JSON,
41  PRIMARY KEY(i)
42) $MASTER_1_ENGINE $MASTER_1_COMMENT_P_2_1;
43--enable_query_log
44INSERT INTO tbl_a (i, j) VALUES
45  (1, '{"ID": "3", "Name": "Barney", "Age": 18}'),
46  (2, '{"ID": "4", "Name": "Betty", "Age": 19}'),
47  (3, '{"ID": "2", "Name": "Wilma", "Age": 20}'),
48  (4, '[10, 20, [30, 40]]');
49
50--echo
51--echo test 1
52
53--connection child2_1
54TRUNCATE TABLE mysql.general_log;
55
56--connection master_1
57SELECT * FROM tbl_a WHERE JSON_EXTRACT(j, '$.Age')=19;
58SELECT * FROM tbl_a WHERE JSON_EXTRACT(j, '$.Name')="Betty";
59SELECT i, JSON_EXTRACT(j, "$.ID")
60  FROM tbl_a
61  WHERE JSON_EXTRACT(j, "$.ID") > 1 AND i < 4
62  ORDER BY JSON_EXTRACT(j, "$.Name");
63SELECT * FROM tbl_a WHERE JSON_EXTRACT(j, '$[1]') = 20;
64SELECT * FROM tbl_a WHERE JSON_EXTRACT(j, '$[2][0]') = 30;
65
66--echo
67--echo deinit
68--disable_warnings
69
70--connection master_1
71DROP DATABASE IF EXISTS auto_test_local;
72
73--connection child2_1
74DROP DATABASE IF EXISTS auto_test_remote;
75SET GLOBAL log_output = @old_log_output;
76
77--enable_warnings
78--source ../include/mdev_24517_deinit.inc
79--echo
80--echo end of test
81