[Commits] Rev 3161: Merge in file:///home/psergey/dev2/5.3-push18/

Sergey Petrunya psergey at askmonty.org
Wed Aug 17 11:02:05 EEST 2011


At file:///home/psergey/dev2/5.3-push18/

------------------------------------------------------------
revno: 3161 [merge]
revision-id: psergey at askmonty.org-20110817080202-5l5f2sfqiu1bmcag
parent: igor at askmonty.org-20110817054835-28vv34wesdsr8gm0
parent: psergey at askmonty.org-20110817075701-k7l7uom9w800rb2e
committer: Sergey Petrunya <psergey at askmonty.org>
branch nick: 5.3-push18
timestamp: Wed 2011-08-17 12:02:02 +0400
message:
  Merge
modified:
  mysql-test/r/myisam_icp.result myisam_icp.result-20110114133659-4wued877rff62t1v-4
  mysql-test/t/myisam_icp.test   myisam_icp.test-20110114133659-4wued877rff62t1v-7
  sql/sql_select.cc              sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
=== modified file 'mysql-test/r/myisam_icp.result'
--- a/mysql-test/r/myisam_icp.result	2011-07-14 13:44:37 +0000
+++ b/mysql-test/r/myisam_icp.result	2011-08-17 07:57:01 +0000
@@ -224,4 +224,18 @@
 set @myisam_icp_tmp=@@optimizer_switch;
 set optimizer_switch='mrr=on,mrr_sort_keys=on,index_condition_pushdown=on';
 drop table if exists t0, t1, t1i, t1m;
+#
+# BUG#826935 Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index))' failed
+#
+CREATE TABLE t1 ( a int, b varchar(1024), c int, KEY (c), KEY (c,a)) ;
+INSERT INTO t1 VALUES
+(NULL,'x','-678428672'),
+(NULL,'ok',NULL),
+(796262400,'byluovkgwoukfxedyeffsedajyqkyhpaqqpozn', NULL),
+(7,'STQUF',146014208),
+(955711488,'WWVOR','-1515388928');
+SELECT b FROM t1 WHERE a != 1 AND c IS NULL ORDER BY 1;
+b
+byluovkgwoukfxedyeffsedajyqkyhpaqqpozn
+DROP TABLE t1;
 set optimizer_switch=@myisam_icp_tmp;

=== modified file 'mysql-test/t/myisam_icp.test'
--- a/mysql-test/t/myisam_icp.test	2011-07-08 14:46:47 +0000
+++ b/mysql-test/t/myisam_icp.test	2011-08-17 07:57:01 +0000
@@ -195,4 +195,18 @@
 drop table t0, t1, t1i, t1m;
 
 --enable_parsing
+
+--echo #
+--echo # BUG#826935 Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index))' failed
+--echo #
+CREATE TABLE t1 ( a int, b varchar(1024), c int, KEY (c), KEY (c,a)) ;
+INSERT INTO t1 VALUES
+  (NULL,'x','-678428672'),
+  (NULL,'ok',NULL),
+  (796262400,'byluovkgwoukfxedyeffsedajyqkyhpaqqpozn', NULL),
+  (7,'STQUF',146014208),
+  (955711488,'WWVOR','-1515388928');
+SELECT b FROM t1 WHERE a != 1 AND c IS NULL ORDER BY 1;
+DROP TABLE t1;
+
 set optimizer_switch=@myisam_icp_tmp;

=== modified file 'sql/sql_select.cc'
--- a/sql/sql_select.cc	2011-08-16 17:42:25 +0000
+++ b/sql/sql_select.cc	2011-08-17 07:57:01 +0000
@@ -19872,7 +19872,12 @@
       error=(int) cond->add(join_tab->select->cond);
     join_tab->select->cond= cond;
     if (join_tab->select->pre_idx_push_select_cond)
-      join_tab->select->pre_idx_push_select_cond= cond;
+    {
+      Item *new_cond= and_conds(join_tab->select->pre_idx_push_select_cond, cond);
+      if (!new_cond->fixed && new_cond->fix_fields(thd, &new_cond))
+        error= 1;
+      join_tab->select->pre_idx_push_select_cond= new_cond;
+    }
     join_tab->set_select_cond(cond, __LINE__);
   }
   else if ((join_tab->select= make_select(join_tab->table, 0, 0, cond, 0,



More information about the commits mailing list