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 
			
		
		
		
	This patch is the columnstore-part of the task. Columnstore wanted to have previous 32 depth, so this patch aims at keeping the compatibility.
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			38 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');
 | 
						|
INSERT INTO t1 VALUES ('{"a":1, "b":{"c":1}, "d":[1, 2]}', '$.d[3]', 3);
 | 
						|
INSERT INTO t1 VALUES ('{"a":1, "b":{"c":1}, "d":[1, 2]}', '$.a[2]', 2);
 | 
						|
INSERT INTO t1 VALUES ('{"a":1, "b":{"c":1}, "d":[1, 2]}', '$.b.c', 'word');
 | 
						|
INSERT INTO t1 VALUES ('1', '$[0]', 4);
 | 
						|
INSERT INTO t1 VALUES ('[]', '$[0][0]', 100);
 | 
						|
INSERT INTO t1 VALUES ('1', '$[0][0]', 100);
 | 
						|
INSERT INTO t1 VALUES ('{ "a": 1, "b": [2, 3]}', '$.a', 10);
 | 
						|
INSERT INTO t1 VALUES ('{ "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;
 |