summaryrefslogtreecommitdiff
path: root/storage/spider/mysql-test/spider/bugfix/t/mdev_24517.test
blob: 21b9dda4f12ef9a9eef44a07d0377fba1a801a6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
--source ../include/mdev_24517_init.inc
--echo
--echo this test is for MDEV-24517
--echo
--echo drop and create databases

--connection master_1
--disable_warnings
CREATE DATABASE auto_test_local;
USE auto_test_local;

--connection child2_1
SET @old_log_output = @@global.log_output;
SET GLOBAL log_output = 'TABLE,FILE';
CREATE DATABASE auto_test_remote;
USE auto_test_remote;
--enable_warnings

--echo
--echo create table and insert

--connection child2_1
--disable_query_log
--disable_ps_protocol
echo CHILD2_1_CREATE_TABLES;
eval $CHILD2_1_CREATE_TABLES;
--enable_ps_protocol
--enable_query_log
TRUNCATE TABLE mysql.general_log;

--connection master_1
--disable_query_log
echo CREATE TABLE tbl_a (
  i INT,
  j JSON,
  PRIMARY KEY(i)
) $MASTER_1_ENGINE $MASTER_1_COMMENT_P_2_1;
eval CREATE TABLE tbl_a (
  i INT,
  j JSON,
  PRIMARY KEY(i)
) $MASTER_1_ENGINE $MASTER_1_COMMENT_P_2_1;
--enable_query_log
INSERT INTO tbl_a (i, j) VALUES
  (1, '{"ID": "3", "Name": "Barney", "Age": 18}'),
  (2, '{"ID": "4", "Name": "Betty", "Age": 19}'),
  (3, '{"ID": "2", "Name": "Wilma", "Age": 20}'),
  (4, '[10, 20, [30, 40]]');

--echo
--echo test 1

--connection child2_1
TRUNCATE TABLE mysql.general_log;

--connection master_1
SELECT * FROM tbl_a WHERE JSON_EXTRACT(j, '$.Age')=19;
SELECT * FROM tbl_a WHERE JSON_EXTRACT(j, '$.Name')="Betty";
SELECT i, JSON_EXTRACT(j, "$.ID")
  FROM tbl_a
  WHERE JSON_EXTRACT(j, "$.ID") > 1 AND i < 4
  ORDER BY JSON_EXTRACT(j, "$.Name");
SELECT * FROM tbl_a WHERE JSON_EXTRACT(j, '$[1]') = 20;
SELECT * FROM tbl_a WHERE JSON_EXTRACT(j, '$[2][0]') = 30;

--echo
--echo deinit
--disable_warnings

--connection master_1
DROP DATABASE IF EXISTS auto_test_local;

--connection child2_1
DROP DATABASE IF EXISTS auto_test_remote;
SET GLOBAL log_output = @old_log_output;

--enable_warnings
--source ../include/mdev_24517_deinit.inc
--echo
--echo end of test