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.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
--source ../include/have_columnstore.inc
 | 
						|
--disable_warnings
 | 
						|
DROP DATABASE IF EXISTS json_insert_de;
 | 
						|
 | 
						|
--enable_warnings
 | 
						|
CREATE DATABASE json_insert_de;
 | 
						|
 | 
						|
USE json_insert_de;
 | 
						|
 | 
						|
--echo # ----------------------------------------------------------------------
 | 
						|
--echo # Test of JSON_INSERT|REPLACE|SET function.
 | 
						|
--echo # ----------------------------------------------------------------------
 | 
						|
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;
 | 
						|
 | 
						|
DROP TABLE t1;
 | 
						|
 | 
						|
DROP DATABASE json_insert_de;
 |