summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Petrunia <psergey@askmonty.org>2021-10-01 14:33:23 +0300
committerSergei Petrunia <psergey@askmonty.org>2022-01-19 18:10:11 +0300
commit43a8d9f156a897804b537fc9608e036817c5b16f (patch)
treebd0fc01cacb2681e5ef0dcc29543b65c50e95764
parent5ef350a7f1cd71f56902e411cc17d470802cfc3c (diff)
downloadmariadb-git-43a8d9f156a897804b537fc9608e036817c5b16f.tar.gz
MDEV-26595: ASAN use-after-poison my_strnxfrm_simple_internal / Histogram_json_hb::range_selectivity
Add testcase
-rw-r--r--mysql-test/main/statistics_json.result18
-rw-r--r--mysql-test/main/statistics_json.test20
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;
+