mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-05-25 13:42:31 +03:00
The following functions are created: Create function JSON_VALID and test cases Create function JSON_DEPTH and test cases Create function JSON_LENGTH and test cases Create function JSON_EQUALS and test cases Create function JSON_NORMALIZE and test cases Create function JSON_TYPE and test cases Create function JSON_OBJECT and test cases Create function JSON_ARRAY and test cases Create function JSON_KEYS and test cases Create function JSON_EXISTS and test cases Create function JSON_QUOTE/JSON_UNQUOTE and test cases Create function JSON_COMPACT/DETAILED/LOOSE and test cases Create function JSON_MERGE and test cases Create function JSON_MERGE_PATCH and test cases Create function JSON_VALUE and test cases Create function JSON_QUERY and test cases Create function JSON_CONTAINS and test cases Create function JSON_ARRAY_APPEND and test cases Create function JSON_ARRAY_INSERT and test cases Create function JSON_INSERT/REPLACE/SET and test cases Create function JSON_REMOVE and test cases Create function JSON_CONTAINS_PATH and test cases Create function JSON_OVERLAPS and test cases Create function JSON_EXTRACT and test cases Create function JSON_SEARCH and test cases Note: Some functions output differs from MDB because session variables that affects functions output,e.g JSON_QUOTE/JSON_UNQUOTE This depends on MCOL-5212
52 lines
2.2 KiB
Plaintext
52 lines
2.2 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'),
|
|
('{"key1":123}', '$.key1'),
|
|
('{"key1":[1,2,3]}', '$.key1'),
|
|
('{"key1": [1,2,3], "key1":123}', '$.key1'),
|
|
('{ "x": [0,1], "y": "[0,1]", "z": "Mon\\\"t\\\"y" }','$.z'),
|
|
('{"\\"key1":123}', '$."\\"key1"'),
|
|
('{"\\"key1\\"":123}', '$."\\"key1\\""'),
|
|
('{"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"}}'),
|
|
('{"key1":123, "key3":[1,2,3]}'),
|
|
('{"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;
|
|
DROP DATABASE json_value_db;
|