1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-10-31 18:30:33 +03:00
Files
mariadb-columnstore-engine/mysql-test/columnstore/basic/r/func_json_value.result
Rucha Deodhar 9fe37d5919 MDEV-32854: Make JSON_DEPTH_LIMIT unlimited
This patch is the columnstore-part of the task. Columnstore wanted to have
previous 32 depth, so this patch aims at keeping the compatibility.
2025-09-14 17:16:17 +04:00

92 lines
3.9 KiB
Plaintext

DROP DATABASE IF EXISTS json_value_db;
CREATE DATABASE json_value_db;
USE json_value_db;
# ----------------------------------------------------------------------
# Test of JSON_VALUE function.
# ----------------------------------------------------------------------
CREATE TABLE t1(s TEXT, p TEXT) ENGINE = columnstore;
INSERT INTO t1 VALUES ('{"key1":123}', '$.key2');
INSERT INTO t1 VALUES ('{"key1":123}', '$.key1');
INSERT INTO t1 VALUES ('{"key1":[1,2,3]}', '$.key1');
INSERT INTO t1 VALUES ('{"key1": [1,2,3], "key1":123}', '$.key1');
INSERT INTO t1 VALUES ('{ "x": [0,1], "y": "[0,1]", "z": "Mon\\\"t\\\"y" }', '$.z');
INSERT INTO t1 VALUES ('{"\\"key1":123}', '$."\\"key1"');
INSERT INTO t1 VALUES ('{"\\"key1\\"":123}', '$."\\"key1\\""');
INSERT INTO t1 VALUES ('{"key 1":123}', '$."key 1"');
SELECT s AS json_text, p AS path,
JSON_VALUE(s, p) AS json_value,
JSON_QUERY(s, p) AS json_query
FROM t1;
json_text path json_value json_query
{"key1":123} $.key2 NULL NULL
{"key1":123} $.key1 123 NULL
{"key1":[1,2,3]} $.key1 NULL [1,2,3]
{"key1": [1,2,3], "key1":123} $.key1 123 [1,2,3]
{ "x": [0,1], "y": "[0,1]", "z": "Mon\"t\"y" } $.z Mon"t"y NULL
{"\"key1":123} $."\"key1" 123 NULL
{"\"key1\"":123} $."\"key1\"" 123 NULL
{"key 1":123} $."key 1" 123 NULL
CREATE TABLE t2(s TEXT) ENGINE = columnstore;
INSERT INTO t2 VALUES ('{"key1":123, "key2":{"key3":"value3"}}');
INSERT INTO t2 VALUES ('{"key1":123, "key3":[1,2,3]}');
INSERT INTO t2 VALUES ('{"key1":123, "key2":"[1]"}');
SELECT s as json_text, '$.key1' , JSON_VALUE(s, '$.key1') as json_value, JSON_QUERY(s, '$.key1') as json_query
FROM t2;
json_text $.key1 json_value json_query
{"key1":123, "key2":{"key3":"value3"}} $.key1 123 NULL
{"key1":123, "key3":[1,2,3]} $.key1 123 NULL
{"key1":123, "key2":"[1]"} $.key1 123 NULL
SELECT s as json_text, '$.key2' , JSON_VALUE(s, '$.key2') as json_value, JSON_QUERY(s, '$.key2') as json_query
FROM t2;
json_text $.key2 json_value json_query
{"key1":123, "key2":{"key3":"value3"}} $.key2 NULL {"key3":"value3"}
{"key1":123, "key3":[1,2,3]} $.key2 NULL NULL
{"key1":123, "key2":"[1]"} $.key2 [1] NULL
SELECT s as json_text, '$.key3' , JSON_VALUE(s, '$.key3') as json_value, JSON_QUERY(s, '$.key3') as json_query
FROM t2;
json_text $.key3 json_value json_query
{"key1":123, "key2":{"key3":"value3"}} $.key3 NULL NULL
{"key1":123, "key3":[1,2,3]} $.key3 NULL [1,2,3]
{"key1":123, "key2":"[1]"} $.key3 NULL NULL
DROP TABLE t2;
DROP TABLE t1;
CREATE TABLE zu (hu TEXT) ENGINE = COLUMNSTORE;
INSERT INTO zu(hu) VALUES ('{}');
INSERT INTO zu(hu) VALUES (NULL);
INSERT INTO zu(hu) VALUES (
'{ "": "huh", "10001" : "10001", "10002" : "10001", "10003" : "10001", "10004" : "10001",
"10005" : "10001", "10006" : "10001", "10007" : "10001", "10008" : "10001", "10009" : "10001",
"10010" : "10001", "10011" : "10001", "10012" : "10001", "10013" : "10001", "10014" : "10001",
"10015" : "10001", "10016" : "10001", "10017" : "10001", "10018" : "10001", "10019" : "10001",
"10020" : "10001", "buga" : "" }'
);
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
INSERT INTO zu(hu) SELECT hu FROM zu;
SELECT COUNT(*) FROM zu;
COUNT(*)
3145728
SELECT COUNT(*) FROM zu wHERE
JSON_QUERY(hu, '$.buga') IS NOT NULL
AND JSON_QUERY(hu, '$.zhuga') IS NULL;
COUNT(*)
0
DROP DATABASE json_value_db;