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.
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
--source ../include/have_columnstore.inc
 | 
						|
--disable_warnings
 | 
						|
DROP DATABASE IF EXISTS json_contains_db;
 | 
						|
--enable_warnings
 | 
						|
 | 
						|
CREATE DATABASE json_contains_db;
 | 
						|
 | 
						|
USE json_contains_db;
 | 
						|
 | 
						|
--echo # ----------------------------------------------------------------------
 | 
						|
--echo # Test of JSON_CONTAINS function.
 | 
						|
--echo # ----------------------------------------------------------------------
 | 
						|
 | 
						|
CREATE TABLE t1(j LONGTEXT, v LONGTEXT, p LONGTEXT) ENGINE = columnstore;
 | 
						|
 | 
						|
INSERT INTO t1 VALUES ('{"k1":123, "k2":345}', '123', '$.k1');
 | 
						|
INSERT INTO t1 VALUES ('', '', '$');
 | 
						|
INSERT INTO t1 VALUES ('null', 'null', '$');
 | 
						|
INSERT INTO t1 VALUES ('"10"', '"10"', '$');
 | 
						|
INSERT INTO t1 VALUES ('"10"', '10', '$');
 | 
						|
INSERT INTO t1 VALUES ('10.1', '10', '$');
 | 
						|
INSERT INTO t1 VALUES ('10.0', '10', '$');
 | 
						|
 | 
						|
SELECT
 | 
						|
    j AS json,
 | 
						|
    v AS value,
 | 
						|
    p AS path,
 | 
						|
    JSON_CONTAINS(j, v, p) AS result
 | 
						|
FROM
 | 
						|
    t1;
 | 
						|
 | 
						|
CREATE TABLE t2(j LONGTEXT, v LONGTEXT) ENGINE = columnstore;
 | 
						|
 | 
						|
INSERT INTO t2 VALUES ('"you"', '"you"');
 | 
						|
INSERT INTO t2 VALUES ('"youth"', '"you"');
 | 
						|
INSERT INTO t2 VALUES ('[1]', '1');
 | 
						|
INSERT INTO t2 VALUES ('[2, 1]', '1');
 | 
						|
INSERT INTO t2 VALUES ('[2, [2, 3], 1]', '1');
 | 
						|
INSERT INTO t2 VALUES ('[4, [2, 3], 1]', '2');
 | 
						|
INSERT INTO t2 VALUES ('[2, 1]', '[1, 2]');
 | 
						|
INSERT INTO t2 VALUES ('[2, 1]', '[1, 0, 2]');
 | 
						|
INSERT INTO t2 VALUES ('[2, 0, 3, 1]', '[1, 2]');
 | 
						|
INSERT INTO t2 VALUES ('{"b":[1,2], "a":1}', '{"a":1, "b":2}');
 | 
						|
INSERT INTO t2 VALUES ('{"a":1}', '{}');
 | 
						|
INSERT INTO t2 VALUES ('[1, {"a":1}]', '{}');
 | 
						|
INSERT INTO t2 VALUES ('[1, {"a":1}]', '{"a":1}');
 | 
						|
INSERT INTO t2 VALUES ('[{"abc":"def", "def":"abc"}]', '["foo","bar"]');
 | 
						|
INSERT INTO t2 VALUES ('[{"abc":"def", "def":"abc"}, "bar"]', '["bar", {}]');
 | 
						|
INSERT INTO t2 VALUES ('[{"a":"b"},{"c":"d"}]', '{"c":"d"}');
 | 
						|
 | 
						|
SELECT
 | 
						|
    j AS json,
 | 
						|
    v AS value,
 | 
						|
    JSON_CONTAINS(j, v) AS result
 | 
						|
FROM
 | 
						|
    t2;
 | 
						|
 | 
						|
DROP TABLE t2;
 | 
						|
DROP TABLE t1;
 | 
						|
DROP DATABASE json_contains_db;
 |