You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
fix(funcexp): MCOL-5607: JSON function use crashes query execution (#3028)
JSON functions were implemented violating an assumption of their pureness, as they should not have any state. This concrete patch fixes implementation of JSON_VALUE function.
This commit is contained in:
committed by
Leonid Fedorov
parent
1935c9c1da
commit
2eca3ee656
@ -0,0 +1,34 @@
|
||||
DROP DATABASE IF EXISTS MCOL5607;
|
||||
CREATE DATABASE MCOL5607;
|
||||
USE MCOL5607;
|
||||
CREATE TABLE zu (hu TEXT) ENGINE = COLUMNSTORE;
|
||||
INSERT INTO zu(hu) VALUES ('{}'), (NULL), ('{ "": "huh", "10001" : "10001", "10002" : "10001", "10003" : "10001", "10004" : "10001", "10005" : "10001", "10006" : "10001", "10007" : "10001", "10008" : "10001", "10009" : "10001", "10010" : "10001", "10011" : "10001", "10012" : "10001", "10013" : "10001", "10014" : "10001", "10015" : "10001", "10016" : "10001", "10017" : "10001", "10018" : "10001", "10019" : "10001", "10020" : "10001", "buga" : ""}');
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
INSERT INTO zu(hu) SELECT hu FROM zu;
|
||||
SELECT COUNT(*) FROM zu;
|
||||
COUNT(*)
|
||||
3145728
|
||||
SELECT COUNT(*) FROM zu wHERE
|
||||
JSON_VALUE(hu, '$.buga') IS NOT NULL
|
||||
AND JSON_VALUE(hu, '$.zhuga') IS NULL;
|
||||
COUNT(*)
|
||||
1048576
|
||||
DROP DATABASE MCOL5607;
|
Reference in New Issue
Block a user