Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
N/A
-
None
Description
mysql.column_stats.histogram field is a standard BLOB. A few long values will overfill it easily, the JSON will get truncated and become invalid.
create or replace table t (a varchar(8192)); |
insert into t values |
(repeat('A',8192)), |
(repeat('B',8192)), |
(repeat('C',8192)), |
(repeat('D',8192)), |
(repeat('E',8192)), |
(repeat('F',8192)), |
(repeat('G',8192)), |
(repeat('H',8192)), |
('I'); |
|
set histogram_type= JSON_HB; |
analyze table t persistent for all; |
select * from t where a = 'foo'; |
|
# Cleanup
|
drop table t; |
preview-10.7-MDEV-26519-json-histograms da8bb4b4 |
MariaDB [test]> select * from t where a = 'foo'; |
ERROR 4183 (HY000): Failed to parse histogram: Root JSON element must be a JSON object at offset 0. |
Attachments
Issue Links
- is caused by
-
MDEV-21130 Histograms: use JSON as on-disk format
- Closed
-
MDEV-26519 JSON Histograms: improve histogram collection
- Closed
- relates to
-
MDEV-28866 mariadb-upgrade to 10.8 mysql.column_stats hist_type + histogram errors
- Closed