mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-26589: Assertion failure upon DECODE_HISTOGRAM with NULLs
Item_func_decode_histogram::val_str should correctly set null_value when "decoding" JSON histogram.
This commit is contained in:
@ -7841,6 +7841,35 @@ b a
|
||||
2 bar
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-26589: Assertion failure upon DECODE_HISTOGRAM with NULLs in first column
|
||||
# (Just the testcase)
|
||||
#
|
||||
CREATE TABLE t1 (a INT, b INT);
|
||||
INSERT INTO t1 VALUES (NULL,1), (NULL,2);
|
||||
SET histogram_type = JSON_HB;
|
||||
ANALYZE TABLE t1 PERSISTENT FOR ALL;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status Engine-independent statistics collected
|
||||
test.t1 analyze status OK
|
||||
SELECT DECODE_HISTOGRAM(hist_type, histogram) from mysql.column_stats;
|
||||
DECODE_HISTOGRAM(hist_type, histogram)
|
||||
NULL
|
||||
{
|
||||
"histogram_hb_v2": [
|
||||
{
|
||||
"start": "1",
|
||||
"size": 0.5,
|
||||
"ndv": 1
|
||||
},
|
||||
{
|
||||
"start": "2",
|
||||
"end": "2",
|
||||
"size": 0.5,
|
||||
"ndv": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
drop table t1;
|
||||
# MDEV-26711: Values in JSON histograms are not properly quoted
|
||||
#
|
||||
create table t1 (a varchar(32));
|
||||
|
@ -184,6 +184,16 @@ SELECT * FROM t1;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-26589: Assertion failure upon DECODE_HISTOGRAM with NULLs in first column
|
||||
--echo # (Just the testcase)
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a INT, b INT);
|
||||
INSERT INTO t1 VALUES (NULL,1), (NULL,2);
|
||||
SET histogram_type = JSON_HB;
|
||||
ANALYZE TABLE t1 PERSISTENT FOR ALL;
|
||||
SELECT DECODE_HISTOGRAM(hist_type, histogram) from mysql.column_stats;
|
||||
drop table t1;
|
||||
--echo # MDEV-26711: Values in JSON histograms are not properly quoted
|
||||
--echo #
|
||||
create table t1 (a varchar(32));
|
||||
|
@ -537,6 +537,7 @@ String *Item_func_decode_histogram::val_str(String *str)
|
||||
if (type == JSON_HB)
|
||||
{
|
||||
// It's a JSON histogram. Return it as-is.
|
||||
null_value= 0;
|
||||
return res;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user