You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
func json_arrayagg test adjustments
This commit is contained in:
@ -76,9 +76,9 @@ JSON_ARRAYAGG(a) JSON_ARRAYAGG(b)
|
|||||||
[1,1,2,2,2,2,3,1,1,2,2,2,2,3] ["Hello","World","This","Will","Work","!","Hello","World","This","Will","Work","!"]
|
[1,1,2,2,2,2,3,1,1,2,2,2,2,3] ["Hello","World","This","Will","Work","!","Hello","World","This","Will","Work","!"]
|
||||||
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b) FROM t1 GROUP BY a;
|
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b) FROM t1 GROUP BY a;
|
||||||
JSON_ARRAYAGG(a) JSON_ARRAYAGG(b)
|
JSON_ARRAYAGG(a) JSON_ARRAYAGG(b)
|
||||||
[3,3] NULL
|
|
||||||
[1,1,1,1] ["Hello","World","Hello","World"]
|
[1,1,1,1] ["Hello","World","Hello","World"]
|
||||||
[2,2,2,2,2,2,2,2] ["This","Will","Work","!","This","Will","Work","!"]
|
[2,2,2,2,2,2,2,2] ["This","Will","Work","!","This","Will","Work","!"]
|
||||||
|
[3,3] NULL
|
||||||
#
|
#
|
||||||
# DISTINCT and LIMIT
|
# DISTINCT and LIMIT
|
||||||
#
|
#
|
||||||
@ -125,9 +125,9 @@ JSON_ARRAYAGG(JSON_ARRAY(a, b))
|
|||||||
[[1, "Hello"],[1, "World"],[2, "This"],[2, "Will"],[2, "Work"],[2, "!"],[3, null],[1, "Hello"],[1, "World"],[2, "This"],[2, "Will"],[2, "Work"],[2, "!"],[3, null]]
|
[[1, "Hello"],[1, "World"],[2, "This"],[2, "Will"],[2, "Work"],[2, "!"],[3, null],[1, "Hello"],[1, "World"],[2, "This"],[2, "Will"],[2, "Work"],[2, "!"],[3, null]]
|
||||||
SELECT JSON_ARRAYAGG(JSON_ARRAY(a, b)) FROM t1 GROUP BY a;
|
SELECT JSON_ARRAYAGG(JSON_ARRAY(a, b)) FROM t1 GROUP BY a;
|
||||||
JSON_ARRAYAGG(JSON_ARRAY(a, b))
|
JSON_ARRAYAGG(JSON_ARRAY(a, b))
|
||||||
[[3, null],[3, null]]
|
|
||||||
[[1, "Hello"],[1, "World"],[1, "Hello"],[1, "World"]]
|
[[1, "Hello"],[1, "World"],[1, "Hello"],[1, "World"]]
|
||||||
[[2, "This"],[2, "Will"],[2, "Work"],[2, "!"],[2, "This"],[2, "Will"],[2, "Work"],[2, "!"]]
|
[[2, "This"],[2, "Will"],[2, "Work"],[2, "!"],[2, "This"],[2, "Will"],[2, "Work"],[2, "!"]]
|
||||||
|
[[3, null],[3, null]]
|
||||||
SELECT JSON_VALID(JSON_ARRAYAGG(JSON_OBJECT('a', a, 'b', b))) FROM t1;
|
SELECT JSON_VALID(JSON_ARRAYAGG(JSON_OBJECT('a', a, 'b', b))) FROM t1;
|
||||||
JSON_VALID(JSON_ARRAYAGG(JSON_OBJECT('a', a, 'b', b)))
|
JSON_VALID(JSON_ARRAYAGG(JSON_OBJECT('a', a, 'b', b)))
|
||||||
1
|
1
|
||||||
@ -136,9 +136,9 @@ JSON_ARRAYAGG(JSON_OBJECT('a', a, 'b', b))
|
|||||||
[{"a": 1, "b": "Hello"},{"a": 1, "b": "World"},{"a": 2, "b": "This"},{"a": 2, "b": "Will"},{"a": 2, "b": "Work"},{"a": 2, "b": "!"},{"a": 3, "b": null},{"a": 1, "b": "Hello"},{"a": 1, "b": "World"},{"a": 2, "b": "This"},{"a": 2, "b": "Will"},{"a": 2, "b": "Work"},{"a": 2, "b": "!"},{"a": 3, "b": null}]
|
[{"a": 1, "b": "Hello"},{"a": 1, "b": "World"},{"a": 2, "b": "This"},{"a": 2, "b": "Will"},{"a": 2, "b": "Work"},{"a": 2, "b": "!"},{"a": 3, "b": null},{"a": 1, "b": "Hello"},{"a": 1, "b": "World"},{"a": 2, "b": "This"},{"a": 2, "b": "Will"},{"a": 2, "b": "Work"},{"a": 2, "b": "!"},{"a": 3, "b": null}]
|
||||||
SELECT JSON_ARRAYAGG(JSON_OBJECT('a', a, 'b', b)) FROM t1 GROUP BY a;
|
SELECT JSON_ARRAYAGG(JSON_OBJECT('a', a, 'b', b)) FROM t1 GROUP BY a;
|
||||||
JSON_ARRAYAGG(JSON_OBJECT('a', a, 'b', b))
|
JSON_ARRAYAGG(JSON_OBJECT('a', a, 'b', b))
|
||||||
[{"a": 3, "b": null},{"a": 3, "b": null}]
|
|
||||||
[{"a": 1, "b": "Hello"},{"a": 1, "b": "World"},{"a": 1, "b": "Hello"},{"a": 1, "b": "World"}]
|
[{"a": 1, "b": "Hello"},{"a": 1, "b": "World"},{"a": 1, "b": "Hello"},{"a": 1, "b": "World"}]
|
||||||
[{"a": 2, "b": "This"},{"a": 2, "b": "Will"},{"a": 2, "b": "Work"},{"a": 2, "b": "!"},{"a": 2, "b": "This"},{"a": 2, "b": "Will"},{"a": 2, "b": "Work"},{"a": 2, "b": "!"}]
|
[{"a": 2, "b": "This"},{"a": 2, "b": "Will"},{"a": 2, "b": "Work"},{"a": 2, "b": "!"},{"a": 2, "b": "This"},{"a": 2, "b": "Will"},{"a": 2, "b": "Work"},{"a": 2, "b": "!"}]
|
||||||
|
[{"a": 3, "b": null},{"a": 3, "b": null}]
|
||||||
#
|
#
|
||||||
# Error checks
|
# Error checks
|
||||||
#
|
#
|
||||||
@ -149,14 +149,9 @@ ERROR 42000: Incorrect parameter count in the call to native function 'JSON_ARRA
|
|||||||
SELECT JSON_ARRAYAGG(JSON_ARRAYAGG(a)) FROM t1;
|
SELECT JSON_ARRAYAGG(JSON_ARRAYAGG(a)) FROM t1;
|
||||||
ERROR HY000: Invalid use of group function
|
ERROR HY000: Invalid use of group function
|
||||||
#
|
#
|
||||||
# MDEV-16620 JSON_OBJECTAGG
|
|
||||||
#
|
#
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
# End of 10.4 tests
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# MDEV-16620 JSON_ARRAYAGG
|
|
||||||
#
|
#
|
||||||
CREATE TABLE t1 (a INT)ENGINE=COLUMNSTORE;
|
CREATE TABLE t1 (a INT)ENGINE=COLUMNSTORE;
|
||||||
SELECT JSON_ARRAYAGG(a) FROM t1;
|
SELECT JSON_ARRAYAGG(a) FROM t1;
|
||||||
@ -164,8 +159,6 @@ JSON_ARRAYAGG(a)
|
|||||||
NULL
|
NULL
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
# MDEV-21915 Server crashes in copy_fields,Item_func_group_concat::add
|
|
||||||
while using json_arrayagg() as a window function
|
|
||||||
#
|
#
|
||||||
select json_arrayagg(a) over () from (select 1 a) t;
|
select json_arrayagg(a) over () from (select 1 a) t;
|
||||||
ERROR 42000: This version of MariaDB doesn't yet support 'JSON_ARRAYAGG() aggregate as window function'
|
ERROR 42000: This version of MariaDB doesn't yet support 'JSON_ARRAYAGG() aggregate as window function'
|
||||||
@ -189,7 +182,6 @@ select json_object('x', json_arrayagg(json_object('a', 1)));
|
|||||||
json_object('x', json_arrayagg(json_object('a', 1)))
|
json_object('x', json_arrayagg(json_object('a', 1)))
|
||||||
{"x": [{"a": 1}]}
|
{"x": [{"a": 1}]}
|
||||||
#
|
#
|
||||||
# MDEV-22011: DISTINCT with JSON_ARRAYAGG gives wrong results
|
|
||||||
#
|
#
|
||||||
CREATE TABLE t1(a INT, b INT)ENGINE=COLUMNSTORE;
|
CREATE TABLE t1(a INT, b INT)ENGINE=COLUMNSTORE;
|
||||||
INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
|
INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
|
||||||
@ -226,7 +218,6 @@ JSON_ARRAYAGG(DISTINCT a)
|
|||||||
[3,2,1]
|
[3,2,1]
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
# MDEV-22840: JSON_ARRAYAGG gives wrong results with NULL values and ORDER by clause
|
|
||||||
#
|
#
|
||||||
CREATE TABLE t1(a VARCHAR(255))ENGINE=COLUMNSTORE;
|
CREATE TABLE t1(a VARCHAR(255))ENGINE=COLUMNSTORE;
|
||||||
INSERT INTO t1 VALUES ('red'),('blue');
|
INSERT INTO t1 VALUES ('red'),('blue');
|
||||||
@ -274,7 +265,6 @@ id materials
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
#
|
#
|
||||||
# MDEV-27018 IF and COALESCE lose "json" property
|
|
||||||
#
|
#
|
||||||
SELECT json_object('a', if(1, json_object('b', 'c'), json_object('e', 'f')));
|
SELECT json_object('a', if(1, json_object('b', 'c'), json_object('e', 'f')));
|
||||||
json_object('a', if(1, json_object('b', 'c'), json_object('e', 'f')))
|
json_object('a', if(1, json_object('b', 'c'), json_object('e', 'f')))
|
||||||
@ -283,7 +273,6 @@ SELECT json_object('a', coalesce(json_object('b', 'c')));
|
|||||||
json_object('a', coalesce(json_object('b', 'c')))
|
json_object('a', coalesce(json_object('b', 'c')))
|
||||||
{"a": {"b": "c"}}
|
{"a": {"b": "c"}}
|
||||||
#
|
#
|
||||||
# MDEV-26054 Server crashes in Item_func_json_arrayagg::get_str_from_field
|
|
||||||
#
|
#
|
||||||
CREATE TABLE t (a VARCHAR(8))ENGINE=COLUMNSTORE;
|
CREATE TABLE t (a VARCHAR(8))ENGINE=COLUMNSTORE;
|
||||||
CREATE VIEW v AS SELECT * FROM t;
|
CREATE VIEW v AS SELECT * FROM t;
|
||||||
|
@ -8,7 +8,9 @@ USE json_arrayagg_db;
|
|||||||
CREATE TABLE t1 (a INT, b INT)ENGINE=COLUMNSTORE;
|
CREATE TABLE t1 (a INT, b INT)ENGINE=COLUMNSTORE;
|
||||||
INSERT INTO t1 VALUES (1, 1),(2, 1), (1, 1),(2, 1), (3, 2),(2, 2),(2, 2),(2, 2);
|
INSERT INTO t1 VALUES (1, 1),(2, 1), (1, 1),(2, 1), (3, 2),(2, 2),(2, 2),(2, 2);
|
||||||
SELECT JSON_VALID(JSON_ARRAYAGG(a)) FROM t1;
|
SELECT JSON_VALID(JSON_ARRAYAGG(a)) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b) FROM t1;
|
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b) FROM t1 GROUP BY b;
|
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b) FROM t1 GROUP BY b;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
@ -18,6 +20,7 @@ DROP TABLE t1;
|
|||||||
CREATE TABLE t1 (a FLOAT, b DOUBLE, c DECIMAL(10, 2))ENGINE=COLUMNSTORE;
|
CREATE TABLE t1 (a FLOAT, b DOUBLE, c DECIMAL(10, 2))ENGINE=COLUMNSTORE;
|
||||||
INSERT INTO t1 VALUES (1.0, 2.0, 3.0),(1.0, 3.0, 9.0),(1.0, 4.0, 16.0),(1.0, 5.0, 25.0);
|
INSERT INTO t1 VALUES (1.0, 2.0, 3.0),(1.0, 3.0, 9.0),(1.0, 4.0, 16.0),(1.0, 5.0, 25.0);
|
||||||
SELECT JSON_VALID(JSON_ARRAYAGG(a)) FROM t1;
|
SELECT JSON_VALID(JSON_ARRAYAGG(a)) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b), JSON_ARRAYAGG(c) FROM t1;
|
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b), JSON_ARRAYAGG(c) FROM t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
@ -31,6 +34,7 @@ sorted_result;
|
|||||||
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b) FROM t1;
|
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b) FROM t1;
|
||||||
sorted_result;
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b) FROM t1 GROUP BY b;
|
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b) FROM t1 GROUP BY b;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(TRUE), JSON_ARRAYAGG(FALSE) FROM t1;
|
SELECT JSON_ARRAYAGG(TRUE), JSON_ARRAYAGG(FALSE) FROM t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
@ -42,6 +46,7 @@ INSERT INTO t1 VALUES
|
|||||||
('"double_quoted_value"'), ("'single_quoted_value'"),
|
('"double_quoted_value"'), ("'single_quoted_value'"),
|
||||||
('"double_quoted_value"'), ("'single_quoted_value'");
|
('"double_quoted_value"'), ("'single_quoted_value'");
|
||||||
SELECT JSON_VALID(JSON_ARRAYAGG(a)) FROM t1;
|
SELECT JSON_VALID(JSON_ARRAYAGG(a)) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(a) FROM t1;
|
SELECT JSON_ARRAYAGG(a) FROM t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
@ -53,32 +58,44 @@ INSERT INTO t1 VALUES
|
|||||||
(1, "Hello"),(1, "World"), (2, "This"),(2, "Will"), (2, "Work"),(2, "!"), (3, NULL),
|
(1, "Hello"),(1, "World"), (2, "This"),(2, "Will"), (2, "Work"),(2, "!"), (3, NULL),
|
||||||
(1, "Hello"),(1, "World"), (2, "This"),(2, "Will"), (2, "Work"),(2, "!"), (3, NULL);
|
(1, "Hello"),(1, "World"), (2, "This"),(2, "Will"), (2, "Work"),(2, "!"), (3, NULL);
|
||||||
SELECT JSON_VALID(JSON_ARRAYAGG(b)) FROM t1;
|
SELECT JSON_VALID(JSON_ARRAYAGG(b)) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b) FROM t1;
|
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b) FROM t1 GROUP BY a;
|
SELECT JSON_ARRAYAGG(a), JSON_ARRAYAGG(b) FROM t1 GROUP BY a;
|
||||||
|
|
||||||
-- echo #
|
-- echo #
|
||||||
-- echo # DISTINCT and LIMIT
|
-- echo # DISTINCT and LIMIT
|
||||||
-- echo #
|
-- echo #
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(b LIMIT 1) FROM t1;
|
SELECT JSON_ARRAYAGG(b LIMIT 1) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(b LIMIT 2) FROM t1;
|
SELECT JSON_ARRAYAGG(b LIMIT 2) FROM t1;
|
||||||
sorted_result;
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(b LIMIT 1) FROM t1 GROUP BY b;
|
SELECT JSON_ARRAYAGG(b LIMIT 1) FROM t1 GROUP BY b;
|
||||||
sorted_result;
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(b LIMIT 2) FROM t1 GROUP BY a;
|
SELECT JSON_ARRAYAGG(b LIMIT 2) FROM t1 GROUP BY a;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1;
|
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(DISTINCT b) FROM t1;
|
SELECT JSON_ARRAYAGG(DISTINCT b) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(DISTINCT a LIMIT 2) FROM t1;
|
SELECT JSON_ARRAYAGG(DISTINCT a LIMIT 2) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(DISTINCT b LIMIT 2) FROM t1;
|
SELECT JSON_ARRAYAGG(DISTINCT b LIMIT 2) FROM t1;
|
||||||
|
|
||||||
-- echo #
|
-- echo #
|
||||||
-- echo # JSON aggregation
|
-- echo # JSON aggregation
|
||||||
-- echo #
|
-- echo #
|
||||||
SELECT JSON_VALID(JSON_ARRAYAGG(JSON_ARRAY(a, b))) FROM t1;
|
SELECT JSON_VALID(JSON_ARRAYAGG(JSON_ARRAY(a, b))) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(JSON_ARRAY(a, b)) FROM t1;
|
SELECT JSON_ARRAYAGG(JSON_ARRAY(a, b)) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(JSON_ARRAY(a, b)) FROM t1 GROUP BY a;
|
SELECT JSON_ARRAYAGG(JSON_ARRAY(a, b)) FROM t1 GROUP BY a;
|
||||||
|
|
||||||
SELECT JSON_VALID(JSON_ARRAYAGG(JSON_OBJECT('a', a, 'b', b))) FROM t1;
|
SELECT JSON_VALID(JSON_ARRAYAGG(JSON_OBJECT('a', a, 'b', b))) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(JSON_OBJECT('a', a, 'b', b)) FROM t1;
|
SELECT JSON_ARRAYAGG(JSON_OBJECT('a', a, 'b', b)) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(JSON_OBJECT('a', a, 'b', b)) FROM t1 GROUP BY a;
|
SELECT JSON_ARRAYAGG(JSON_OBJECT('a', a, 'b', b)) FROM t1 GROUP BY a;
|
||||||
|
|
||||||
-- echo #
|
-- echo #
|
||||||
@ -94,18 +111,13 @@ SELECT JSON_ARRAYAGG(JSON_ARRAYAGG(a, b)) FROM t1;
|
|||||||
SELECT JSON_ARRAYAGG(JSON_ARRAYAGG(a)) FROM t1;
|
SELECT JSON_ARRAYAGG(JSON_ARRAYAGG(a)) FROM t1;
|
||||||
|
|
||||||
-- echo #
|
-- echo #
|
||||||
-- echo # MDEV-16620 JSON_OBJECTAGG
|
|
||||||
-- echo #
|
-- echo #
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo #
|
|
||||||
--echo # End of 10.4 tests
|
|
||||||
--echo #
|
|
||||||
|
|
||||||
-- echo #
|
-- echo #
|
||||||
-- echo # MDEV-16620 JSON_ARRAYAGG
|
|
||||||
-- echo #
|
-- echo #
|
||||||
|
|
||||||
CREATE TABLE t1 (a INT)ENGINE=COLUMNSTORE;
|
CREATE TABLE t1 (a INT)ENGINE=COLUMNSTORE;
|
||||||
@ -113,8 +125,6 @@ SELECT JSON_ARRAYAGG(a) FROM t1;
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
-- echo #
|
-- echo #
|
||||||
-- echo # MDEV-21915 Server crashes in copy_fields,Item_func_group_concat::add
|
|
||||||
-- echo while using json_arrayagg() as a window function
|
|
||||||
-- echo #
|
-- echo #
|
||||||
|
|
||||||
--error ER_NOT_SUPPORTED_YET
|
--error ER_NOT_SUPPORTED_YET
|
||||||
@ -123,31 +133,36 @@ select json_arrayagg(a) over () from (select 1 a) t;
|
|||||||
--error ER_NOT_SUPPORTED_YET
|
--error ER_NOT_SUPPORTED_YET
|
||||||
select json_objectagg(a, b) over () from (select 1 a, 2 b) t;
|
select json_objectagg(a, b) over () from (select 1 a, 2 b) t;
|
||||||
|
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(NULL) FROM (SELECT 1 AS t) AS A;
|
SELECT JSON_ARRAYAGG(NULL) FROM (SELECT 1 AS t) AS A;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG("null") FROM (SELECT 1 AS t) AS A;
|
SELECT JSON_ARRAYAGG("null") FROM (SELECT 1 AS t) AS A;
|
||||||
|
|
||||||
create view v as (select json_arrayagg(json_object("type", "permPeriod", "id", "asd")) as JSON_DATA);
|
create view v as (select json_arrayagg(json_object("type", "permPeriod", "id", "asd")) as JSON_DATA);
|
||||||
select * from v;
|
select * from v;
|
||||||
drop view v;
|
drop view v;
|
||||||
|
|
||||||
|
sorted_result;
|
||||||
select json_arrayagg(a order by a asc) from (select 1 a union select 2 a) t;
|
select json_arrayagg(a order by a asc) from (select 1 a union select 2 a) t;
|
||||||
|
sorted_result;
|
||||||
select json_object('x', json_arrayagg(json_object('a', 1)));
|
select json_object('x', json_arrayagg(json_object('a', 1)));
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-22011: DISTINCT with JSON_ARRAYAGG gives wrong results
|
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
CREATE TABLE t1(a INT, b INT)ENGINE=COLUMNSTORE;
|
CREATE TABLE t1(a INT, b INT)ENGINE=COLUMNSTORE;
|
||||||
INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
|
INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
|
||||||
INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
|
INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(a) FROM t1;
|
SELECT JSON_ARRAYAGG(a) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1;
|
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1;
|
||||||
|
|
||||||
INSERT INTO t1 VALUES (NULL,NULL), (NULL,NULL);
|
INSERT INTO t1 VALUES (NULL,NULL), (NULL,NULL);
|
||||||
|
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(a) FROM t1;
|
SELECT JSON_ARRAYAGG(a) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1;
|
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
@ -155,29 +170,32 @@ CREATE TABLE t1(a VARCHAR(10), b INT)ENGINE=COLUMNSTORE;
|
|||||||
INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
|
INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
|
||||||
INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
|
INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
|
||||||
|
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(a) FROM t1;
|
SELECT JSON_ARRAYAGG(a) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1;
|
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1;
|
||||||
|
|
||||||
INSERT INTO t1 VALUES (NULL,NULL), (NULL,NULL);
|
INSERT INTO t1 VALUES (NULL,NULL), (NULL,NULL);
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(a) FROM t1;
|
SELECT JSON_ARRAYAGG(a) FROM t1;
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1;
|
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1;
|
||||||
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-22840: JSON_ARRAYAGG gives wrong results with NULL values and ORDER by clause
|
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
CREATE TABLE t1(a VARCHAR(255))ENGINE=COLUMNSTORE;
|
CREATE TABLE t1(a VARCHAR(255))ENGINE=COLUMNSTORE;
|
||||||
INSERT INTO t1 VALUES ('red'),('blue');
|
INSERT INTO t1 VALUES ('red'),('blue');
|
||||||
|
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(a) FROM t1;
|
SELECT JSON_ARRAYAGG(a) FROM t1;
|
||||||
SELECT JSON_ARRAYAGG(a ORDER BY a DESC) FROM t1;
|
SELECT JSON_ARRAYAGG(a ORDER BY a DESC) FROM t1;
|
||||||
SELECT JSON_ARRAYAGG(a ORDER BY a ASC) FROM t1;
|
SELECT JSON_ARRAYAGG(a ORDER BY a ASC) FROM t1;
|
||||||
|
|
||||||
INSERT INTO t1 VALUES (NULL);
|
INSERT INTO t1 VALUES (NULL);
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(a) FROM t1;
|
SELECT JSON_ARRAYAGG(a) FROM t1;
|
||||||
SELECT JSON_ARRAYAGG(a ORDER BY a DESC) FROM t1;
|
SELECT JSON_ARRAYAGG(a ORDER BY a DESC) FROM t1;
|
||||||
SELECT JSON_ARRAYAGG(a ORDER BY a ASC) FROM t1;
|
SELECT JSON_ARRAYAGG(a ORDER BY a ASC) FROM t1;
|
||||||
@ -187,6 +205,7 @@ set group_concat_max_len=64;
|
|||||||
create table t1 (a varchar(254))ENGINE=COLUMNSTORE;
|
create table t1 (a varchar(254))ENGINE=COLUMNSTORE;
|
||||||
insert into t1 values (concat('x64-', repeat('a', 60)));
|
insert into t1 values (concat('x64-', repeat('a', 60)));
|
||||||
insert into t1 values (concat('x64-', repeat('b', 60))); insert into t1 values (concat('x64-', repeat('c', 60)));
|
insert into t1 values (concat('x64-', repeat('b', 60))); insert into t1 values (concat('x64-', repeat('c', 60)));
|
||||||
|
sorted_result;
|
||||||
select json_arrayagg(a) from t1;
|
select json_arrayagg(a) from t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
SET group_concat_max_len= default;
|
SET group_concat_max_len= default;
|
||||||
@ -207,7 +226,6 @@ DROP TABLE t1;
|
|||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-27018 IF and COALESCE lose "json" property
|
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
SELECT json_object('a', if(1, json_object('b', 'c'), json_object('e', 'f')));
|
SELECT json_object('a', if(1, json_object('b', 'c'), json_object('e', 'f')));
|
||||||
@ -215,14 +233,14 @@ SELECT json_object('a', coalesce(json_object('b', 'c')));
|
|||||||
|
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-26054 Server crashes in Item_func_json_arrayagg::get_str_from_field
|
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
CREATE TABLE t (a VARCHAR(8))ENGINE=COLUMNSTORE;
|
CREATE TABLE t (a VARCHAR(8))ENGINE=COLUMNSTORE;
|
||||||
CREATE VIEW v AS SELECT * FROM t;
|
CREATE VIEW v AS SELECT * FROM t;
|
||||||
INSERT INTO t VALUES ('foo'),('bar');
|
INSERT INTO t VALUES ('foo'),('bar');
|
||||||
|
sorted_result;
|
||||||
SELECT JSON_ARRAYAGG(a) AS f FROM v;
|
SELECT JSON_ARRAYAGG(a) AS f FROM v;
|
||||||
DROP VIEW v;
|
DROP VIEW v;
|
||||||
DROP TABLE t;
|
DROP TABLE t;
|
||||||
|
|
||||||
DROP DATABASE IF EXISTS json_arrayagg_db;
|
DROP DATABASE IF EXISTS json_arrayagg_db;
|
||||||
|
Reference in New Issue
Block a user