summaryrefslogtreecommitdiff
path: root/mysql-test/suite/handler/interface.test
diff options
context:
space:
mode:
authorAlexey Botchkov <holyfoot@askmonty.org>2018-05-16 09:44:22 +0400
committerAlexey Botchkov <holyfoot@askmonty.org>2018-05-16 09:44:22 +0400
commita639eff5940ed4147709511aeaee922fa7095284 (patch)
tree7d8faf3e9668d27904fc37b18a701ef9155f1b54 /mysql-test/suite/handler/interface.test
parentcd15e764a8a4f3e799f1efaede413c95e3233df6 (diff)
downloadmariadb-git-a639eff5940ed4147709511aeaee922fa7095284.tar.gz
MDEV-15813 ASAN use-after-poison in hp_hashnr upon HANDLER READ on a versioned HEAP table.
Check index capabilities before executing HANDLER READ command.
Diffstat (limited to 'mysql-test/suite/handler/interface.test')
-rw-r--r--mysql-test/suite/handler/interface.test25
1 files changed, 25 insertions, 0 deletions
diff --git a/mysql-test/suite/handler/interface.test b/mysql-test/suite/handler/interface.test
index 2f576c9b291..15853dfdbf5 100644
--- a/mysql-test/suite/handler/interface.test
+++ b/mysql-test/suite/handler/interface.test
@@ -354,3 +354,28 @@ execute stmt;
--error ER_UNKNOWN_TABLE
handler v read next;
drop view v;
+
+--echo #
+--echo # MDEV-15813 ASAN use-after-poison in hp_hashnr upon
+--echo # HANDLER READ on a versioned HEAP table
+--echo #
+
+CREATE TABLE t1 (g GEOMETRY NOT NULL, SPATIAL gi(g));
+INSERT INTO t1 VALUES (POINT(0,0));
+HANDLER t1 OPEN AS h;
+--error ER_KEY_DOESNT_SUPPORT
+HANDLER h READ `gi`= (10);
+--error ER_KEY_DOESNT_SUPPORT
+HANDLER h READ `gi`> (10);
+HANDLER h CLOSE;
+DROP TABLE t1;
+
+CREATE TABLE t1 (w VARCHAR(100), FULLTEXT fk(w));
+INSERT INTO t1 VALUES ('one two three');
+HANDLER t1 OPEN AS h;
+--error ER_KEY_DOESNT_SUPPORT
+HANDLER h READ `fk`= (10);
+--error ER_KEY_DOESNT_SUPPORT
+HANDLER h READ `fk`> (10);
+HANDLER h CLOSE;
+DROP TABLE t1;