Commit e644e130 authored by Sergei Petrunia's avatar Sergei Petrunia

MDEV-30623: Fix the testcase

- Fix view-protocol: long expressions in SELECT
  list should have "expr AS column_name".

- Also, moved the test from subselect*test to
  suite/json/t/json_table.test.
parent f071b762
......@@ -7559,31 +7559,5 @@ Warning 1292 Truncated incorrect DECIMAL value: 'e'
drop view v1;
drop table t1, t2, t3;
#
# MDEV-30623 JSON_TABLE in subquery not correctly marked as correlated
# update_correlated_cache() fails to take JSON_TABLE functions in
# subqueries into account.
#
create table t1(c json);
insert into t1 values ('[{"x":"1"},{"x":"2"}]'),
('[{"x":"10"},{"x":"20"}]'),
('[{"x":"100"},{"x":"200"}]');
select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
from t1;
c (SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
[{"x":"1"},{"x":"2"}] 3
[{"x":"10"},{"x":"20"}] 30
[{"x":"100"},{"x":"200"}] 300
explain select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 3
2 DEPENDENT SUBQUERY jt ALL NULL NULL NULL NULL 40 Table function: json_table
drop table t1;
#
# End of 10.6 tests
#
......@@ -6434,28 +6434,6 @@ insert into t2 select (('e','e') IN (SELECT v1.id, v1.id FROM v1 JOIN t3));
drop view v1;
drop table t1, t2, t3;
--echo #
--echo # MDEV-30623 JSON_TABLE in subquery not correctly marked as correlated
--echo # update_correlated_cache() fails to take JSON_TABLE functions in
--echo # subqueries into account.
--echo #
create table t1(c json);
insert into t1 values ('[{"x":"1"},{"x":"2"}]'),
('[{"x":"10"},{"x":"20"}]'),
('[{"x":"100"},{"x":"200"}]');
select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
from t1;
explain select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
from t1;
drop table t1;
--echo #
--echo # End of 10.6 tests
--echo #
......@@ -7559,32 +7559,6 @@ Warning 1292 Truncated incorrect DECIMAL value: 'e'
drop view v1;
drop table t1, t2, t3;
#
# MDEV-30623 JSON_TABLE in subquery not correctly marked as correlated
# update_correlated_cache() fails to take JSON_TABLE functions in
# subqueries into account.
#
create table t1(c json);
insert into t1 values ('[{"x":"1"},{"x":"2"}]'),
('[{"x":"10"},{"x":"20"}]'),
('[{"x":"100"},{"x":"200"}]');
select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
from t1;
c (SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
[{"x":"1"},{"x":"2"}] 3
[{"x":"10"},{"x":"20"}] 30
[{"x":"100"},{"x":"200"}] 300
explain select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 3
2 DEPENDENT SUBQUERY jt ALL NULL NULL NULL NULL 40 Table function: json_table
drop table t1;
#
# End of 10.6 tests
#
set optimizer_switch=default;
......
......@@ -7552,32 +7552,6 @@ Warning 1292 Truncated incorrect DECIMAL value: 'e'
drop view v1;
drop table t1, t2, t3;
#
# MDEV-30623 JSON_TABLE in subquery not correctly marked as correlated
# update_correlated_cache() fails to take JSON_TABLE functions in
# subqueries into account.
#
create table t1(c json);
insert into t1 values ('[{"x":"1"},{"x":"2"}]'),
('[{"x":"10"},{"x":"20"}]'),
('[{"x":"100"},{"x":"200"}]');
select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
from t1;
c (SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
[{"x":"1"},{"x":"2"}] 3
[{"x":"10"},{"x":"20"}] 30
[{"x":"100"},{"x":"200"}] 300
explain select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 3
2 DEPENDENT SUBQUERY jt ALL NULL NULL NULL NULL 40 Table function: json_table
drop table t1;
#
# End of 10.6 tests
#
set optimizer_switch=default;
......
......@@ -7550,32 +7550,6 @@ Warning 1292 Truncated incorrect DECIMAL value: 'e'
drop view v1;
drop table t1, t2, t3;
#
# MDEV-30623 JSON_TABLE in subquery not correctly marked as correlated
# update_correlated_cache() fails to take JSON_TABLE functions in
# subqueries into account.
#
create table t1(c json);
insert into t1 values ('[{"x":"1"},{"x":"2"}]'),
('[{"x":"10"},{"x":"20"}]'),
('[{"x":"100"},{"x":"200"}]');
select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
from t1;
c (SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
[{"x":"1"},{"x":"2"}] 3
[{"x":"10"},{"x":"20"}] 30
[{"x":"100"},{"x":"200"}] 300
explain select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 3
2 DEPENDENT SUBQUERY jt ALL NULL NULL NULL NULL 40 Table function: json_table
drop table t1;
#
# End of 10.6 tests
#
set @optimizer_switch_for_subselect_test=null;
......@@ -7565,32 +7565,6 @@ Warning 1292 Truncated incorrect DECIMAL value: 'e'
drop view v1;
drop table t1, t2, t3;
#
# MDEV-30623 JSON_TABLE in subquery not correctly marked as correlated
# update_correlated_cache() fails to take JSON_TABLE functions in
# subqueries into account.
#
create table t1(c json);
insert into t1 values ('[{"x":"1"},{"x":"2"}]'),
('[{"x":"10"},{"x":"20"}]'),
('[{"x":"100"},{"x":"200"}]');
select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
from t1;
c (SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
[{"x":"1"},{"x":"2"}] 3
[{"x":"10"},{"x":"20"}] 30
[{"x":"100"},{"x":"200"}] 300
explain select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 3
2 DEPENDENT SUBQUERY jt ALL NULL NULL NULL NULL 40 Table function: json_table
drop table t1;
#
# End of 10.6 tests
#
set optimizer_switch=default;
......
......@@ -7550,32 +7550,6 @@ Warning 1292 Truncated incorrect DECIMAL value: 'e'
drop view v1;
drop table t1, t2, t3;
#
# MDEV-30623 JSON_TABLE in subquery not correctly marked as correlated
# update_correlated_cache() fails to take JSON_TABLE functions in
# subqueries into account.
#
create table t1(c json);
insert into t1 values ('[{"x":"1"},{"x":"2"}]'),
('[{"x":"10"},{"x":"20"}]'),
('[{"x":"100"},{"x":"200"}]');
select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
from t1;
c (SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
[{"x":"1"},{"x":"2"}] 3
[{"x":"10"},{"x":"20"}] 30
[{"x":"100"},{"x":"200"}] 300
explain select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt)
from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 3
2 DEPENDENT SUBQUERY jt ALL NULL NULL NULL NULL 40 Table function: json_table
drop table t1;
#
# End of 10.6 tests
#
#
......
......@@ -1011,5 +1011,30 @@ Jeans
SELECT 1 FROM JSON_TABLE (row(1,2), '$' COLUMNS (o FOR ORDINALITY)) AS j;
ERROR 21000: Operand should contain 1 column(s)
#
# MDEV-30623 JSON_TABLE in subquery not correctly marked as correlated
# update_correlated_cache() fails to take JSON_TABLE functions in
# subqueries into account.
#
create table t1(c json);
insert into t1 values ('[{"x":"1"},{"x":"2"}]'),
('[{"x":"10"},{"x":"20"}]'),
('[{"x":"100"},{"x":"200"}]');
select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt) as SUBQ
from t1;
c SUBQ
[{"x":"1"},{"x":"2"}] 3
[{"x":"10"},{"x":"20"}] 30
[{"x":"100"},{"x":"200"}] 300
explain select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt) as SUBQ
from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 3
2 DEPENDENT SUBQUERY jt ALL NULL NULL NULL NULL 40 Table function: json_table
drop table t1;
#
# End of 10.6 tests
#
......@@ -871,6 +871,28 @@ SELECT * FROM json_table('[{"name":"Jeans"}]', '$[*]'
--error ER_OPERAND_COLUMNS
SELECT 1 FROM JSON_TABLE (row(1,2), '$' COLUMNS (o FOR ORDINALITY)) AS j;
--echo #
--echo # MDEV-30623 JSON_TABLE in subquery not correctly marked as correlated
--echo # update_correlated_cache() fails to take JSON_TABLE functions in
--echo # subqueries into account.
--echo #
create table t1(c json);
insert into t1 values ('[{"x":"1"},{"x":"2"}]'),
('[{"x":"10"},{"x":"20"}]'),
('[{"x":"100"},{"x":"200"}]');
select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt) as SUBQ
from t1;
explain select c,
(SELECT sum(x) FROM json_table(c, "$[*]" columns( x int path "$.x"))
AS jt) as SUBQ
from t1;
drop table t1;
--echo #
--echo # End of 10.6 tests
--echo #
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