summaryrefslogtreecommitdiff
path: root/mysql-test/r/innodb_icp.result
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2012-02-21 01:50:50 +0400
committerSergey Petrunya <psergey@askmonty.org>2012-02-21 01:50:50 +0400
commit352e848f214ab401d013604701341487a4fe2520 (patch)
treef88025167fe01d84d43ab6d78b36e0b2b4714562 /mysql-test/r/innodb_icp.result
parent00995935628c9e865ee545422871363be75812b8 (diff)
downloadmariadb-git-352e848f214ab401d013604701341487a4fe2520.tar.gz
BUG#920132: Assert trx->n_active_thrs == 1 failed at que0que.c line 1050
- MySQL 5.5 introduced caching of constant items by means of wrapping them in Item_cache_XXX objects. If a subquery was wrapped in this cache, it could end up being pushed down by ICP. - The fix is to add Item_cache::walk() which lets ICP to see that the cache item has a subquery inside it, and disable pushdown for this case.
Diffstat (limited to 'mysql-test/r/innodb_icp.result')
-rw-r--r--mysql-test/r/innodb_icp.result29
1 files changed, 29 insertions, 0 deletions
diff --git a/mysql-test/r/innodb_icp.result b/mysql-test/r/innodb_icp.result
index 08238289330..c2def708662 100644
--- a/mysql-test/r/innodb_icp.result
+++ b/mysql-test/r/innodb_icp.result
@@ -808,5 +808,34 @@ COUNT(*)
1478
SET optimizer_switch=@save_optimizer_switch;
DROP TABLE t1,t2;
+#
+# BUG#920132: Assert trx->n_active_thrs == 1 failed at que0que.c line 1050
+#
+CREATE TABLE t1 ( a INT )
+ENGINE=InnoDB;
+INSERT INTO t1 VALUES (7),(7);
+CREATE TABLE t2 ( b VARCHAR(1) );
+INSERT INTO t2 VALUES ('j'),('v');
+CREATE TABLE t3 (
+c INT, d VARCHAR(1), e VARCHAR(1),
+KEY (d,c)
+) ENGINE=InnoDB;
+INSERT INTO t3
+VALUES (6,'w','w'),
+(1,'v','v'),(7,'s','s'),(4,'l','l'),
+(7,'y','y'),(0,'c','c'),(2,'i','i'),
+(9,'h','h'),(4,'q','q'),(0,'a','a'),
+(9,'v','v'),(1,'u','u'),(3,'s','s'),
+(8,'z','z'),(1,'h','h'),(8,'p','p'),
+(6,'e','e'),(3,'i','i'),(6,'y','y');
+SELECT *
+FROM t1 INNER JOIN t2 INNER JOIN t3
+ON d = b
+WHERE
+NOT EXISTS ( SELECT * FROM t3 )
+OR a = c
+ORDER BY e;
+a b c d e
+DROP TABLE t1,t2,t3;
set optimizer_switch=@innodb_icp_tmp;
set storage_engine= @save_storage_engine;