summaryrefslogtreecommitdiff
path: root/mysql-test/t/range.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/t/range.test')
-rw-r--r--mysql-test/t/range.test190
1 files changed, 188 insertions, 2 deletions
diff --git a/mysql-test/t/range.test b/mysql-test/t/range.test
index 245178d7d4a..0dbfde92bd5 100644
--- a/mysql-test/t/range.test
+++ b/mysql-test/t/range.test
@@ -400,8 +400,8 @@ select count(*) from t1 where x = 18446744073709551601;
create table t2 (x bigint not null);
-insert into t2(x) values (0xfffffffffffffff0);
-insert into t2(x) values (0xfffffffffffffff1);
+insert into t2(x) values (-16);
+insert into t2(x) values (-15);
select * from t2;
select count(*) from t2 where x>0;
select count(*) from t2 where x=0;
@@ -520,4 +520,190 @@ explain select a from t1 where a > 'x';
select a from t1 where a > 'x';
drop table t1;
+#
+# Bug #24776: assertion abort for 'range checked for each record'
+#
+
+CREATE TABLE t1 (
+ OXID varchar(32) COLLATE latin1_german2_ci NOT NULL DEFAULT '',
+ OXPARENTID varchar(32) COLLATE latin1_german2_ci NOT NULL DEFAULT 'oxrootid',
+ OXLEFT int NOT NULL DEFAULT '0',
+ OXRIGHT int NOT NULL DEFAULT '0',
+ OXROOTID varchar(32) COLLATE latin1_german2_ci NOT NULL DEFAULT '',
+ PRIMARY KEY (OXID),
+ KEY OXNID (OXID),
+ KEY OXLEFT (OXLEFT),
+ KEY OXRIGHT (OXRIGHT),
+ KEY OXROOTID (OXROOTID)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci;
+
+INSERT INTO t1 VALUES
+('d8c4177d09f8b11f5.52725521','oxrootid',1,40,'d8c4177d09f8b11f5.52725521'),
+('d8c4177d151affab2.81582770','d8c4177d09f8b11f5.52725521',2,3,
+ 'd8c4177d09f8b11f5.52725521'),
+('d8c4177d206a333d2.74422679','d8c4177d09f8b11f5.52725521',4,5,
+ 'd8c4177d09f8b11f5.52725521'),
+('d8c4177d225791924.30714720','d8c4177d09f8b11f5.52725521',6,7,
+ 'd8c4177d09f8b11f5.52725521'),
+('d8c4177d2380fc201.39666693','d8c4177d09f8b11f5.52725521',8,9,
+ 'd8c4177d09f8b11f5.52725521'),
+('d8c4177d24ccef970.14957924','d8c4177d09f8b11f5.52725521',10,11,
+ 'd8c4177d09f8b11f5.52725521');
+
+EXPLAIN
+SELECT s.oxid FROM t1 v, t1 s
+ WHERE s.oxrootid = 'd8c4177d09f8b11f5.52725521' AND
+ v.oxrootid ='d8c4177d09f8b11f5.52725521' AND
+ s.oxleft > v.oxleft AND s.oxleft < v.oxright;
+
+SELECT s.oxid FROM t1 v, t1 s
+ WHERE s.oxrootid = 'd8c4177d09f8b11f5.52725521' AND
+ v.oxrootid ='d8c4177d09f8b11f5.52725521' AND
+ s.oxleft > v.oxleft AND s.oxleft < v.oxright;
+
+DROP TABLE t1;
+
+# BUG#26624 high mem usage (crash) in range optimizer (depends on order of fields in where)
+create table t1 (
+ c1 char(10), c2 char(10), c3 char(10), c4 char(10),
+ c5 char(10), c6 char(10), c7 char(10), c8 char(10),
+ c9 char(10), c10 char(10), c11 char(10), c12 char(10),
+ c13 char(10), c14 char(10), c15 char(10), c16 char(10),
+ index(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,c13,c14,c15,c16)
+);
+insert into t1 (c1) values ('1'),('1'),('1'),('1');
+
+# This must run without crash and fast:
+select * from t1 where
+ c1 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
+ "abcdefg1", "123456781", "qwertyui1", "asddfg1",
+ "abcdefg2", "123456782", "qwertyui2", "asddfg2",
+ "abcdefg3", "123456783", "qwertyui3", "asddfg3",
+ "abcdefg4", "123456784", "qwertyui4", "asddfg4",
+ "abcdefg5", "123456785", "qwertyui5", "asddfg5",
+ "abcdefg6", "123456786", "qwertyui6", "asddfg6",
+ "abcdefg7", "123456787", "qwertyui7", "asddfg7",
+ "abcdefg8", "123456788", "qwertyui8", "asddfg8",
+ "abcdefg9", "123456789", "qwertyui9", "asddfg9",
+ "abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
+ "abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
+ "abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
+ and c2 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
+ "abcdefg1", "123456781", "qwertyui1", "asddfg1",
+ "abcdefg2", "123456782", "qwertyui2", "asddfg2",
+ "abcdefg3", "123456783", "qwertyui3", "asddfg3",
+ "abcdefg4", "123456784", "qwertyui4", "asddfg4",
+ "abcdefg5", "123456785", "qwertyui5", "asddfg5",
+ "abcdefg6", "123456786", "qwertyui6", "asddfg6",
+ "abcdefg7", "123456787", "qwertyui7", "asddfg7",
+ "abcdefg8", "123456788", "qwertyui8", "asddfg8",
+ "abcdefg9", "123456789", "qwertyui9", "asddfg9",
+ "abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
+ "abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
+ "abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
+ and c3 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
+ "abcdefg1", "123456781", "qwertyui1", "asddfg1",
+ "abcdefg2", "123456782", "qwertyui2", "asddfg2",
+ "abcdefg3", "123456783", "qwertyui3", "asddfg3",
+ "abcdefg4", "123456784", "qwertyui4", "asddfg4",
+ "abcdefg5", "123456785", "qwertyui5", "asddfg5",
+ "abcdefg6", "123456786", "qwertyui6", "asddfg6",
+ "abcdefg7", "123456787", "qwertyui7", "asddfg7",
+ "abcdefg8", "123456788", "qwertyui8", "asddfg8",
+ "abcdefg9", "123456789", "qwertyui9", "asddfg9",
+ "abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
+ "abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
+ "abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
+ and c4 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
+ "abcdefg1", "123456781", "qwertyui1", "asddfg1",
+ "abcdefg2", "123456782", "qwertyui2", "asddfg2",
+ "abcdefg3", "123456783", "qwertyui3", "asddfg3",
+ "abcdefg4", "123456784", "qwertyui4", "asddfg4",
+ "abcdefg5", "123456785", "qwertyui5", "asddfg5",
+ "abcdefg6", "123456786", "qwertyui6", "asddfg6",
+ "abcdefg7", "123456787", "qwertyui7", "asddfg7",
+ "abcdefg8", "123456788", "qwertyui8", "asddfg8",
+ "abcdefg9", "123456789", "qwertyui9", "asddfg9",
+ "abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
+ "abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
+ "abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
+ and c5 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
+ "abcdefg1", "123456781", "qwertyui1", "asddfg1",
+ "abcdefg2", "123456782", "qwertyui2", "asddfg2",
+ "abcdefg3", "123456783", "qwertyui3", "asddfg3",
+ "abcdefg4", "123456784", "qwertyui4", "asddfg4",
+ "abcdefg5", "123456785", "qwertyui5", "asddfg5",
+ "abcdefg6", "123456786", "qwertyui6", "asddfg6",
+ "abcdefg7", "123456787", "qwertyui7", "asddfg7",
+ "abcdefg8", "123456788", "qwertyui8", "asddfg8",
+ "abcdefg9", "123456789", "qwertyui9", "asddfg9",
+ "abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
+ "abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
+ "abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
+ and c6 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
+ "abcdefg1", "123456781", "qwertyui1", "asddfg1",
+ "abcdefg2", "123456782", "qwertyui2", "asddfg2",
+ "abcdefg3", "123456783", "qwertyui3", "asddfg3",
+ "abcdefg4", "123456784", "qwertyui4", "asddfg4",
+ "abcdefg5", "123456785", "qwertyui5", "asddfg5",
+ "abcdefg6", "123456786", "qwertyui6", "asddfg6",
+ "abcdefg7", "123456787", "qwertyui7", "asddfg7",
+ "abcdefg8", "123456788", "qwertyui8", "asddfg8",
+ "abcdefg9", "123456789", "qwertyui9", "asddfg9",
+ "abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
+ "abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
+ "abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
+ and c7 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
+ "abcdefg1", "123456781", "qwertyui1", "asddfg1",
+ "abcdefg2", "123456782", "qwertyui2", "asddfg2",
+ "abcdefg3", "123456783", "qwertyui3", "asddfg3",
+ "abcdefg4", "123456784", "qwertyui4", "asddfg4",
+ "abcdefg5", "123456785", "qwertyui5", "asddfg5",
+ "abcdefg6", "123456786", "qwertyui6", "asddfg6",
+ "abcdefg7", "123456787", "qwertyui7", "asddfg7",
+ "abcdefg8", "123456788", "qwertyui8", "asddfg8",
+ "abcdefg9", "123456789", "qwertyui9", "asddfg9",
+ "abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
+ "abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
+ "abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
+ and c8 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
+ "abcdefg1", "123456781", "qwertyui1", "asddfg1",
+ "abcdefg2", "123456782", "qwertyui2", "asddfg2",
+ "abcdefg3", "123456783", "qwertyui3", "asddfg3",
+ "abcdefg4", "123456784", "qwertyui4", "asddfg4",
+ "abcdefg5", "123456785", "qwertyui5", "asddfg5",
+ "abcdefg6", "123456786", "qwertyui6", "asddfg6",
+ "abcdefg7", "123456787", "qwertyui7", "asddfg7",
+ "abcdefg8", "123456788", "qwertyui8", "asddfg8",
+ "abcdefg9", "123456789", "qwertyui9", "asddfg9",
+ "abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
+ "abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
+ "abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
+ and c9 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
+ "abcdefg1", "123456781", "qwertyui1", "asddfg1",
+ "abcdefg2", "123456782", "qwertyui2", "asddfg2",
+ "abcdefg3", "123456783", "qwertyui3", "asddfg3",
+ "abcdefg4", "123456784", "qwertyui4", "asddfg4",
+ "abcdefg5", "123456785", "qwertyui5", "asddfg5",
+ "abcdefg6", "123456786", "qwertyui6", "asddfg6",
+ "abcdefg7", "123456787", "qwertyui7", "asddfg7",
+ "abcdefg8", "123456788", "qwertyui8", "asddfg8",
+ "abcdefg9", "123456789", "qwertyui9", "asddfg9",
+ "abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
+ "abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
+ "abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
+ and c10 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
+ "abcdefg1", "123456781", "qwertyui1", "asddfg1",
+ "abcdefg2", "123456782", "qwertyui2", "asddfg2",
+ "abcdefg3", "123456783", "qwertyui3", "asddfg3",
+ "abcdefg4", "123456784", "qwertyui4", "asddfg4",
+ "abcdefg5", "123456785", "qwertyui5", "asddfg5",
+ "abcdefg6", "123456786", "qwertyui6", "asddfg6",
+ "abcdefg7", "123456787", "qwertyui7", "asddfg7",
+ "abcdefg8", "123456788", "qwertyui8", "asddfg8",
+ "abcdefg9", "123456789", "qwertyui9", "asddfg9",
+ "abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
+ "abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
+ "abcdefgC", "12345678C", "qwertyuiC", "asddfgC");
+drop table t1;
--echo End of 4.1 tests