You've already forked mariadb-columnstore-engine
							
							
				mirror of
				https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
				synced 2025-11-03 17:13:17 +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
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
DROP DATABASE IF EXISTS json_insert_de;
 | 
						|
CREATE DATABASE json_insert_de;
 | 
						|
USE json_insert_de;
 | 
						|
# ----------------------------------------------------------------------
 | 
						|
# Test of JSON_INSERT|REPLACE|SET function.
 | 
						|
# ----------------------------------------------------------------------
 | 
						|
CREATE TABLE t1(j TEXT, p TEXT, v TEXT) ENGINE = COLUMNSTORE;
 | 
						|
INSERT INTO
 | 
						|
t1
 | 
						|
VALUES
 | 
						|
(
 | 
						|
'{"a":1, "b":{"c":1}, "d":[1, 2]}',
 | 
						|
'$.b.k1',
 | 
						|
'word'
 | 
						|
    ),
 | 
						|
('{"a":1, "b":{"c":1}, "d":[1, 2]}', '$.d[3]', 3),
 | 
						|
('{"a":1, "b":{"c":1}, "d":[1, 2]}', '$.a[2]', 2),
 | 
						|
(
 | 
						|
'{"a":1, "b":{"c":1}, "d":[1, 2]}',
 | 
						|
'$.b.c',
 | 
						|
'word'
 | 
						|
    ),
 | 
						|
('1', '$[0]', 4),
 | 
						|
('[]', '$[0][0]', 100),
 | 
						|
('1', '$[0][0]', 100),
 | 
						|
(
 | 
						|
'{ "a": 1, "b": [2, 3]}',
 | 
						|
'$.a',
 | 
						|
10
 | 
						|
),
 | 
						|
(
 | 
						|
'{ "a": 1, "b": [2, 3]}',
 | 
						|
'$.b',
 | 
						|
'[true, false]'
 | 
						|
    );
 | 
						|
SELECT
 | 
						|
j AS json,
 | 
						|
p AS path,
 | 
						|
v AS value,
 | 
						|
JSON_INSERT(j, p, v) AS json_insert,
 | 
						|
JSON_REPLACE(j, p, v) AS json_replace,
 | 
						|
JSON_SET(j, p, v) AS json_set
 | 
						|
FROM
 | 
						|
t1;
 | 
						|
json	path	value	json_insert	json_replace	json_set
 | 
						|
{"a":1, "b":{"c":1}, "d":[1, 2]}	$.b.k1	word	{"a": 1, "b": {"c": 1, "k1": "word"}, "d": [1, 2]}	{"a": 1, "b": {"c": 1}, "d": [1, 2]}	{"a": 1, "b": {"c": 1, "k1": "word"}, "d": [1, 2]}
 | 
						|
{"a":1, "b":{"c":1}, "d":[1, 2]}	$.d[3]	3	{"a": 1, "b": {"c": 1}, "d": [1, 2, "3"]}	{"a": 1, "b": {"c": 1}, "d": [1, 2]}	{"a": 1, "b": {"c": 1}, "d": [1, 2, "3"]}
 | 
						|
{"a":1, "b":{"c":1}, "d":[1, 2]}	$.a[2]	2	{"a": [1, "2"], "b": {"c": 1}, "d": [1, 2]}	{"a": 1, "b": {"c": 1}, "d": [1, 2]}	{"a": [1, "2"], "b": {"c": 1}, "d": [1, 2]}
 | 
						|
{"a":1, "b":{"c":1}, "d":[1, 2]}	$.b.c	word	{"a": 1, "b": {"c": 1}, "d": [1, 2]}	{"a": 1, "b": {"c": "word"}, "d": [1, 2]}	{"a": 1, "b": {"c": "word"}, "d": [1, 2]}
 | 
						|
1	$[0]	4	1	NULL	NULL
 | 
						|
[]	$[0][0]	100	[]	[]	[]
 | 
						|
1	$[0][0]	100	1	NULL	NULL
 | 
						|
{ "a": 1, "b": [2, 3]}	$.a	10	{"a": 1, "b": [2, 3]}	{"a": "10", "b": [2, 3]}	{"a": "10", "b": [2, 3]}
 | 
						|
{ "a": 1, "b": [2, 3]}	$.b	[true, false]	{"a": 1, "b": [2, 3]}	{"a": 1, "b": "[true, false]"}	{"a": 1, "b": "[true, false]"}
 | 
						|
DROP TABLE t1;
 | 
						|
DROP DATABASE json_insert_de;
 |