revision-id: fa0e10458826fea890f736cd960d49c19a415f2a (mariadb-10.6.1-158-gfa0e1045882) parent(s): 7b49fb5803e4589d4bab2123813784d9ff29018d author: Sergei Petrunia committer: Sergei Petrunia timestamp: 2021-10-01 14:33:23 +0300 message: MDEV-26595: ASAN use-after-poison my_strnxfrm_simple_internal / Histogram_json_hb::range_selectivity Add testcase --- mysql-test/main/statistics_json.result | 18 ++++++++++++++++-- mysql-test/main/statistics_json.test | 20 ++++++++++++++++++-- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/mysql-test/main/statistics_json.result b/mysql-test/main/statistics_json.result index df59bf37268..77d4fecdd29 100644 --- a/mysql-test/main/statistics_json.result +++ b/mysql-test/main/statistics_json.result @@ -7842,7 +7842,6 @@ b a 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); @@ -7870,6 +7869,7 @@ NULL ] } drop table t1; +# # MDEV-26711: Values in JSON histograms are not properly quoted # create table t1 (a varchar(32)); @@ -7883,7 +7883,7 @@ select * from t1 where a = 'foo'; a drop table t1; # -# MDEV-26724 Endless loop in json_escape_to_string upon ... empty string +# MDEV-26724 Endless loop in json_escape_to_string upon ... empty string # CREATE TABLE t1 (f VARCHAR(8)); INSERT INTO t1 VALUES ('a'),(''),('b'); @@ -7898,3 +7898,17 @@ a b drop table t1; +# +# ASAN use-after-poison my_strnxfrm_simple_internal / Histogram_json_hb::range_selectivity ... +# (Just the testcase) +# +CREATE TABLE t1 (f CHAR(8)); +INSERT INTO t1 VALUES ('foo'),('bar'); +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 * FROM t1 WHERE f > 'qux'; +f +DROP TABLE t1; diff --git a/mysql-test/main/statistics_json.test b/mysql-test/main/statistics_json.test index e7b65e19860..fa581f54671 100644 --- a/mysql-test/main/statistics_json.test +++ b/mysql-test/main/statistics_json.test @@ -185,7 +185,6 @@ 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); @@ -194,8 +193,11 @@ 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 # --echo # MDEV-26711: Values in JSON histograms are not properly quoted --echo # + create table t1 (a varchar(32)); insert into t1 values ('this is "quoted" text'); set histogram_type= JSON_HB; @@ -204,7 +206,7 @@ select * from t1 where a = 'foo'; drop table t1; --echo # ---echo # MDEV-26724 Endless loop in json_escape_to_string upon ... empty string +--echo # MDEV-26724 Endless loop in json_escape_to_string upon ... empty string --echo # CREATE TABLE t1 (f VARCHAR(8)); INSERT INTO t1 VALUES ('a'),(''),('b'); @@ -213,3 +215,17 @@ ANALYZE TABLE t PERSISTENT FOR ALL; select * from t1; drop table t1; +--echo # +--echo # ASAN use-after-poison my_strnxfrm_simple_internal / Histogram_json_hb::range_selectivity ... +--echo # (Just the testcase) +--echo # + +CREATE TABLE t1 (f CHAR(8)); +INSERT INTO t1 VALUES ('foo'),('bar'); + +SET histogram_type = JSON_HB; +ANALYZE TABLE t1 PERSISTENT FOR ALL; + +SELECT * FROM t1 WHERE f > 'qux'; +DROP TABLE t1; +