Below is the list of changes that have just been committed into a local
6.0 repository of mattiasj. When mattiasj does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-12-03 16:17:10+01:00, mattiasj@witty. +2 -0
Bug#30480: Falcon: searches fail if LIKE and key partition
(also fixes the bugs: 29320, 29493 and 30536)
Problem: Partitioning did not handle unordered scans correctly
for engines with unordered read order.
Solution: do not stop scanning if a record is out of range, since
there can be more records within the range afterwards.
Note. this is the test case ONLY, the real patch is separate since it
goes into 5.1 as well (for non mysql storage engines,
since falcon is in 6.0)
mysql-test/r/partition_falcon.result@stripped, 2007-12-03 16:17:08+01:00, mattiasj@witty. +18 -0
Bug#30480: Falcon: searches fail if LIKE and key partition
test result for falcon related partitioning
mysql-test/r/partition_falcon.result@stripped, 2007-12-03 16:17:08+01:00, mattiasj@witty. +0 -0
mysql-test/t/partition_falcon.test@stripped, 2007-12-03 16:17:08+01:00, mattiasj@witty. +25 -0
Bug#30480: Falcon: searches fail if LIKE and key partition
test case for falcon related partitioning
mysql-test/t/partition_falcon.test@stripped, 2007-12-03 16:17:08+01:00, mattiasj@witty. +0 -0
diff -Nrup a/mysql-test/r/partition_falcon.result b/mysql-test/r/partition_falcon.result
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/r/partition_falcon.result 2007-12-03 16:17:08 +01:00
@@ -0,0 +1,18 @@
+DROP TABLE IF EXISTS t1;
+SET storage_engine = Falcon;
+# Bug #30480
+CREATE TABLE t1 (c1 VARCHAR(3))
+ENGINE=Falcon
+PARTITION BY KEY(c1)
+PARTITIONS 1;
+CREATE INDEX i1 ON t1 (c1);
+INSERT INTO t1 VALUES ('B'), ('A');
+# No result if bug exists
+SELECT * FROM t1 WHERE c1 LIKE 'A%';
+c1
+A
+# But this was not found (if bug exists)
+SELECT * FROM t1 WHERE c1 = 'A';
+c1
+A
+DROP TABLE t1;
diff -Nrup a/mysql-test/t/partition_falcon.test b/mysql-test/t/partition_falcon.test
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/t/partition_falcon.test 2007-12-03 16:17:08 +01:00
@@ -0,0 +1,25 @@
+--source include/have_falcon.inc
+--source include/have_partition.inc
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+SET storage_engine = Falcon;
+
+#
+# Bug #30480: Falcon: searches fail if LIKE and key partition
+# (mattiasj 2007-11-23: verified all testcases on the following bugs:
+# 29320, 29493, 30536, 30480, this simple test substitutes them all)
+--echo # Bug #30480
+# simple test on Bug#30480
+CREATE TABLE t1 (c1 VARCHAR(3))
+ENGINE=Falcon
+PARTITION BY KEY(c1)
+PARTITIONS 1;
+# must have index to show the bug
+CREATE INDEX i1 ON t1 (c1);
+INSERT INTO t1 VALUES ('B'), ('A');
+-- echo # No result if bug exists
+SELECT * FROM t1 WHERE c1 LIKE 'A%';
+-- echo # But this was not found (if bug exists)
+SELECT * FROM t1 WHERE c1 = 'A';
+DROP TABLE t1;
| Thread |
|---|
| • bk commit into 6.0 tree (mattiasj:1.2671) BUG#30480 | mattiasj | 3 Dec |