Commit 5a8abbb7 authored by Alexey Botchkov's avatar Alexey Botchkov

MDEV-17399 JSON_TABLE.

tests updated.
parent 1be9c51b
...@@ -2210,7 +2210,9 @@ drop table t1; ...@@ -2210,7 +2210,9 @@ drop table t1;
# #
# MDEV-24858 SIGABRT in DbugExit from my_malloc in Query_cache::init_cache Regression # MDEV-24858 SIGABRT in DbugExit from my_malloc in Query_cache::init_cache Regression
# #
SET @qc= @@query_cache_size;
set global Query_cache_size=18446744073709547520; set global Query_cache_size=18446744073709547520;
SET GLOBAL query_cache_size= @qc;
# #
# MDEV-22301 JSON_TABLE: Queries are not inserted into query cache. # MDEV-22301 JSON_TABLE: Queries are not inserted into query cache.
# #
...@@ -2225,7 +2227,7 @@ a f ...@@ -2225,7 +2227,7 @@ a f
{"a":"foo"} foo {"a":"foo"} foo
SHOW STATUS LIKE 'Qcache_inserts'; SHOW STATUS LIKE 'Qcache_inserts';
Variable_name Value Variable_name Value
Qcache_inserts 0 Qcache_inserts 1
drop table t1; drop table t1;
# #
# MDEV-25228 JSON_TABLE: Server crashes in Query_cache::unlink_table. # MDEV-25228 JSON_TABLE: Server crashes in Query_cache::unlink_table.
......
...@@ -1804,7 +1804,9 @@ drop table t1; ...@@ -1804,7 +1804,9 @@ drop table t1;
--echo # MDEV-24858 SIGABRT in DbugExit from my_malloc in Query_cache::init_cache Regression --echo # MDEV-24858 SIGABRT in DbugExit from my_malloc in Query_cache::init_cache Regression
--echo # --echo #
--disable_warnings --disable_warnings
SET @qc= @@query_cache_size;
set global Query_cache_size=18446744073709547520; set global Query_cache_size=18446744073709547520;
SET GLOBAL query_cache_size= @qc;
--enable_warnings --enable_warnings
--echo # --echo #
......
...@@ -668,6 +668,24 @@ RIGHT JOIN JSON_TABLE('[]', '$' COLUMNS(o3 FOR ORDINALITY)) AS jt3 ...@@ -668,6 +668,24 @@ RIGHT JOIN JSON_TABLE('[]', '$' COLUMNS(o3 FOR ORDINALITY)) AS jt3
ON(1) ON(1)
WHERE 0; WHERE 0;
ERROR 42S22: Unknown column 'jt1.a' in 'JSON_TABLE argument' ERROR 42S22: Unknown column 'jt1.a' in 'JSON_TABLE argument'
create table t1 (item_name varchar(32), item_props varchar(1024));
insert into t1 values ('Jeans', '{"color": ["green", "brown"], "price": 50}');
insert into t1 values ('Shirt', '{"color": ["blue", "white"], "price": 20}');
insert into t1 values ('Jeans', '{"color": ["black"], "price": 60}');
insert into t1 values ('Jeans', '{"color": ["gray"], "price": 60}');
insert into t1 values ('Laptop', '{"color": ["black"], "price": 1000}');
insert into t1 values ('Shirt', '{"color": ["black"], "price": 20}');
select t.item_name, jt.* from (select t1.item_name, concat(concat(concat("{\"color\": ",concat(concat("[\"",group_concat(jt.color separator "\", \"")),"\"]")),','),concat(concat("\"price\": ",jt.price),'}')) as item_props from t1, json_table(t1.item_props, '$' columns (nested path '$.color[*]' columns (color varchar(32) path '$'), price int path '$.price')) as jt group by t1.item_name, jt.price) as t, json_table(t.item_props, '$' columns (nested path '$.color[*]' columns (color varchar(32) path '$'), price int path '$.price')) as jt order by t.item_name, jt.price, jt.color;
item_name color price
Jeans brown 50
Jeans green 50
Jeans black 60
Jeans gray 60
Laptop black 1000
Shirt black 20
Shirt blue 20
Shirt white 20
drop table t1;
# #
# End of 10.6 tests # End of 10.6 tests
# #
...@@ -555,6 +555,17 @@ JSON_TABLE('[]', '$' COLUMNS(a TEXT PATH '$[*]')) AS jt1 ...@@ -555,6 +555,17 @@ JSON_TABLE('[]', '$' COLUMNS(a TEXT PATH '$[*]')) AS jt1
ON(1) ON(1)
WHERE 0; WHERE 0;
create table t1 (item_name varchar(32), item_props varchar(1024));
insert into t1 values ('Jeans', '{"color": ["green", "brown"], "price": 50}');
insert into t1 values ('Shirt', '{"color": ["blue", "white"], "price": 20}');
insert into t1 values ('Jeans', '{"color": ["black"], "price": 60}');
insert into t1 values ('Jeans', '{"color": ["gray"], "price": 60}');
insert into t1 values ('Laptop', '{"color": ["black"], "price": 1000}');
insert into t1 values ('Shirt', '{"color": ["black"], "price": 20}');
select t.item_name, jt.* from (select t1.item_name, concat(concat(concat("{\"color\": ",concat(concat("[\"",group_concat(jt.color separator "\", \"")),"\"]")),','),concat(concat("\"price\": ",jt.price),'}')) as item_props from t1, json_table(t1.item_props, '$' columns (nested path '$.color[*]' columns (color varchar(32) path '$'), price int path '$.price')) as jt group by t1.item_name, jt.price) as t, json_table(t.item_props, '$' columns (nested path '$.color[*]' columns (color varchar(32) path '$'), price int path '$.price')) as jt order by t.item_name, jt.price, jt.color;
drop table t1;
--echo # --echo #
--echo # End of 10.6 tests --echo # End of 10.6 tests
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment