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
MCOL-785 Implement DISTRIBUTED JSON functions
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
This commit is contained in:
81
mysql-test/columnstore/basic/r/func_json_contains.result
Normal file
81
mysql-test/columnstore/basic/r/func_json_contains.result
Normal file
@ -0,0 +1,81 @@
|
||||
DROP DATABASE IF EXISTS json_contains_db;
|
||||
CREATE DATABASE json_contains_db;
|
||||
USE json_contains_db;
|
||||
# ----------------------------------------------------------------------
|
||||
# Test of JSON_CONTAINS function.
|
||||
# ----------------------------------------------------------------------
|
||||
CREATE TABLE t1(j LONGTEXT, v LONGTEXT, p LONGTEXT) ENGINE = columnstore;
|
||||
INSERT INTO
|
||||
t1
|
||||
VALUES
|
||||
('{"k1":123, "k2":345}', '123', '$.k1'),
|
||||
('', '', '$'),
|
||||
('null', 'null', '$'),
|
||||
('"10"', '"10"', '$'),
|
||||
('"10"', '10', '$'),
|
||||
('10.1', '10', '$'),
|
||||
('10.0', '10', '$');
|
||||
SELECT
|
||||
j AS json,
|
||||
v AS value,
|
||||
p AS path,
|
||||
JSON_CONTAINS(j, v, p) AS result
|
||||
FROM
|
||||
t1;
|
||||
json value path result
|
||||
{"k1":123, "k2":345} 123 $.k1 1
|
||||
NULL NULL $ NULL
|
||||
null null $ 1
|
||||
"10" "10" $ 1
|
||||
"10" 10 $ 0
|
||||
10.1 10 $ 0
|
||||
10.0 10 $ 1
|
||||
CREATE TABLE t2(j LONGTEXT, v LONGTEXT) ENGINE = columnstore;
|
||||
INSERT INTO
|
||||
t2
|
||||
VALUES
|
||||
('"you"', '"you"'),
|
||||
('"youth"', '"you"'),
|
||||
('[1]', '1'),
|
||||
('[2, 1]', '1'),
|
||||
('[2, [2, 3], 1]', '1'),
|
||||
('[4, [2, 3], 1]', '2'),
|
||||
('[2, 1]', '[1, 2]'),
|
||||
('[2, 1]', '[1, 0, 2]'),
|
||||
('[2, 0, 3, 1]', '[1, 2]'),
|
||||
('{"b":[1,2], "a":1}', '{"a":1, "b":2}'),
|
||||
('{"a":1}', '{}'),
|
||||
('[1, {"a":1}]', '{}'),
|
||||
('[1, {"a":1}]', '{"a":1}'),
|
||||
('[{"abc":"def", "def":"abc"}]', '["foo","bar"]'),
|
||||
(
|
||||
'[{"abc":"def", "def":"abc"}, "bar"]',
|
||||
'["bar", {}]'
|
||||
),
|
||||
('[{"a":"b"},{"c":"d"}]', '{"c":"d"}');
|
||||
SELECT
|
||||
j AS json,
|
||||
v AS value,
|
||||
JSON_CONTAINS(j, v) AS result
|
||||
FROM
|
||||
t2;
|
||||
json value result
|
||||
"you" "you" 1
|
||||
"youth" "you" 0
|
||||
[1] 1 1
|
||||
[2, 1] 1 1
|
||||
[2, [2, 3], 1] 1 1
|
||||
[4, [2, 3], 1] 2 1
|
||||
[2, 1] [1, 2] 1
|
||||
[2, 1] [1, 0, 2] 0
|
||||
[2, 0, 3, 1] [1, 2] 1
|
||||
{"b":[1,2], "a":1} {"a":1, "b":2} 1
|
||||
{"a":1} {} 1
|
||||
[1, {"a":1}] {} 1
|
||||
[1, {"a":1}] {"a":1} 1
|
||||
[{"abc":"def", "def":"abc"}] ["foo","bar"] 0
|
||||
[{"abc":"def", "def":"abc"}, "bar"] ["bar", {}] 1
|
||||
[{"a":"b"},{"c":"d"}] {"c":"d"} 1
|
||||
DROP TABLE t2;
|
||||
DROP TABLE t1;
|
||||
DROP DATABASE json_contains_db;
|
Reference in New Issue
Block a user