You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-11-02 06:13:16 +03:00
MDEV-32854: Make JSON_DEPTH_LIMIT unlimited
This patch is the columnstore-part of the task. Columnstore wanted to have previous 32 depth, so this patch aims at keeping the compatibility.
This commit is contained in:
committed by
Leonid Fedorov
parent
9a2ebebaf9
commit
9fe37d5919
@@ -16,23 +16,20 @@ USE json_valid_db;
|
||||
|
||||
CREATE TABLE t1(l LONGTEXT) ENGINE = COLUMNSTORE;
|
||||
|
||||
INSERT INTO
|
||||
t1
|
||||
VALUES
|
||||
('123'),
|
||||
('-123'),
|
||||
('5000000000'),
|
||||
('-5000000000'),
|
||||
('1.23'),
|
||||
('"123"'),
|
||||
('true'),
|
||||
('false'),
|
||||
('null'),
|
||||
('{"address": "Trondheim"}'),
|
||||
(JSON_OBJECT()),
|
||||
(JSON_OBJECT(1, 2)),
|
||||
(JSON_ARRAY()),
|
||||
(JSON_ARRAY(1, 2));
|
||||
INSERT INTO t1 VALUES ('123');
|
||||
INSERT INTO t1 VALUES ('-123');
|
||||
INSERT INTO t1 VALUES ('5000000000');
|
||||
INSERT INTO t1 VALUES ('-5000000000');
|
||||
INSERT INTO t1 VALUES ('1.23');
|
||||
INSERT INTO t1 VALUES ('"123"');
|
||||
INSERT INTO t1 VALUES ('true');
|
||||
INSERT INTO t1 VALUES ('false');
|
||||
INSERT INTO t1 VALUES ('null');
|
||||
INSERT INTO t1 VALUES ('{"address": "Trondheim"}');
|
||||
INSERT INTO t1 VALUES (JSON_OBJECT());
|
||||
INSERT INTO t1 VALUES (JSON_OBJECT(1, 2));
|
||||
INSERT INTO t1 VALUES (JSON_ARRAY());
|
||||
INSERT INTO t1 VALUES (JSON_ARRAY(1, 2));
|
||||
|
||||
SELECT
|
||||
l AS raw,
|
||||
@@ -46,14 +43,11 @@ FROM
|
||||
--echo #
|
||||
TRUNCATE t1;
|
||||
|
||||
INSERT INTO
|
||||
t1
|
||||
VALUES
|
||||
('12 3'),
|
||||
('{key:value}'),
|
||||
('{key:value'),
|
||||
('[1,2,]'),
|
||||
('[1,2');
|
||||
INSERT INTO t1 VALUES ('12 3');
|
||||
INSERT INTO t1 VALUES ('{key:value}');
|
||||
INSERT INTO t1 VALUES ('{key:value');
|
||||
INSERT INTO t1 VALUES ('[1,2,]');
|
||||
INSERT INTO t1 VALUES ('[1,2');
|
||||
|
||||
SELECT
|
||||
l AS raw,
|
||||
@@ -67,13 +61,9 @@ FROM
|
||||
--echo #
|
||||
TRUNCATE t1;
|
||||
|
||||
SET
|
||||
NAMES 'ascii';
|
||||
SET NAMES 'ascii';
|
||||
|
||||
INSERT INTO
|
||||
t1
|
||||
VALUES
|
||||
('123');
|
||||
INSERT INTO t1 VALUES ('123');
|
||||
|
||||
SELECT
|
||||
l AS raw,
|
||||
@@ -82,18 +72,14 @@ SELECT
|
||||
FROM
|
||||
t1;
|
||||
|
||||
SET
|
||||
NAMES 'utf8';
|
||||
SET NAMES 'utf8';
|
||||
|
||||
--echo #
|
||||
--echo # Bare NULL
|
||||
--echo #
|
||||
TRUNCATE t1;
|
||||
|
||||
INSERT INTO
|
||||
t1
|
||||
VALUES
|
||||
(NULL);
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
|
||||
SELECT
|
||||
JSON_VALID(l)
|
||||
@@ -105,10 +91,7 @@ FROM
|
||||
--echo #
|
||||
TRUNCATE t1;
|
||||
|
||||
INSERT INTO
|
||||
t1
|
||||
VALUES
|
||||
(UPPER('"abc"'));
|
||||
INSERT INTO t1 VALUES (UPPER('"abc"'));
|
||||
|
||||
SELECT
|
||||
JSON_VALID(l)
|
||||
@@ -120,31 +103,23 @@ FROM
|
||||
--echo #
|
||||
TRUNCATE t1;
|
||||
|
||||
SET
|
||||
NAMES 'latin1';
|
||||
SET NAMES 'latin1';
|
||||
|
||||
INSERT INTO
|
||||
t1
|
||||
VALUES
|
||||
(UPPER('"abc"'));
|
||||
INSERT INTO t1 VALUES (UPPER('"abc"'));
|
||||
|
||||
SELECT
|
||||
JSON_VALID(l)
|
||||
FROM
|
||||
t1;
|
||||
|
||||
SET
|
||||
NAMES 'utf8';
|
||||
SET NAMES 'utf8';
|
||||
|
||||
--echo #
|
||||
--echo # Function result - date, not valid as JSON without CAST
|
||||
--echo #
|
||||
TRUNCATE t1;
|
||||
|
||||
INSERT INTO
|
||||
t1
|
||||
VALUES
|
||||
(CAST('2015-01-15' AS DATE));
|
||||
INSERT INTO t1 VALUES (CAST('2015-01-15' AS DATE));
|
||||
|
||||
SELECT
|
||||
JSON_VALID(l)
|
||||
@@ -156,14 +131,11 @@ FROM
|
||||
--echo #
|
||||
TRUNCATE t1;
|
||||
|
||||
INSERT INTO
|
||||
t1
|
||||
VALUES
|
||||
(
|
||||
CAST(
|
||||
CAST('2015-01-15' AS DATE) AS CHAR CHARACTER SET 'utf8'
|
||||
)
|
||||
);
|
||||
INSERT INTO t1 VALUES (
|
||||
CAST(
|
||||
CAST('2015-01-15' AS DATE) AS CHAR CHARACTER SET 'utf8'
|
||||
)
|
||||
);
|
||||
|
||||
SELECT
|
||||
JSON_VALID(l)
|
||||
@@ -175,15 +147,8 @@ FROM
|
||||
--echo #
|
||||
TRUNCATE t1;
|
||||
|
||||
INSERT INTO
|
||||
t1
|
||||
VALUES
|
||||
(UPPER(NULL));
|
||||
|
||||
INSERT INTO
|
||||
t1
|
||||
VALUES
|
||||
(UPPER(CAST(NULL AS CHAR)));
|
||||
INSERT INTO t1 VALUES (UPPER(NULL));
|
||||
INSERT INTO t1 VALUES (UPPER(CAST(NULL AS CHAR)));
|
||||
|
||||
SELECT
|
||||
JSON_VALID(l)
|
||||
|
||||
Reference in New Issue
Block a user