[MDEV-3531] LP:675922 - Wrong result with join_cache_level = 6, BKA, incremental Created: 2010-11-16  Updated: 2015-02-02  Resolved: 2012-10-04

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Philip Stoev (Inactive) Assignee: Igor Babaev
Resolution: Fixed Votes: 0
Labels: Launchpad

Attachments: XML File LPexportBug675922.xml    

 Description   

Both maria-5.3 and maria-5.3-mwl128 return a wrong result on the following query:

SELECT alias1.f12 FROM t1 AS alias1 RIGHT JOIN t2 AS alias2 RIGHT JOIN t3 AS alias3 JOIN t3 AS alias4 ON alias3.f1 = alias4.f1 RIGHT JOIN t4 AS alias5 ON alias3.f6 = alias5.f2 ON alias2.f15 ON alias1.f1 = alias3.f1;

when it is executed with join_cache_level=6 and BKA.

Test case:

SET SESSION join_cache_level = 6;
SET SESSION optimizer_switch = 'join_cache_bka=on';
SET SESSION optimizer_switch = 'join_cache_incremental=on';
SET SESSION optimizer_switch = 'outer_join_with_cache=on';

CREATE TABLE t1 ( f1 int, f12 int, PRIMARY KEY (f1)) ;
INSERT IGNORE INTO t1 VALUES ('7','0');

CREATE TABLE t2 ( f15 int) ;
INSERT IGNORE INTO t2 VALUES ('9');

CREATE TABLE t3 ( f6 varchar(32), f1 int, PRIMARY KEY (f1)) ;
INSERT IGNORE INTO t3 VALUES ('s','7');

CREATE TABLE t4 ( f2 varchar(32)) ;
INSERT IGNORE INTO t4 VALUES ('s'),('k');

SELECT alias1.f12 FROM t1 AS alias1 RIGHT JOIN t2 AS alias2 RIGHT JOIN t3 AS alias3 JOIN t3 AS alias4 ON alias3.f1 = alias4.f1 RIGHT JOIN t4 AS alias5 ON alias3.f6 = alias5.f2 ON alias2.f15 ON alias1.f1 = alias3.f1;
SET SESSION join_cache_level=0;
SELECT alias1.f12 FROM t1 AS alias1 RIGHT JOIN t2 AS alias2 RIGHT JOIN t3 AS alias3 JOIN t3 AS alias4 ON alias3.f1 = alias4.f1 RIGHT JOIN t4 AS alias5 ON alias3.f6 = alias5.f2 ON alias2.f15 ON alias1.f1 = alias3.f1;



 Comments   
Comment by Rasmus Johansson (Inactive) [ 2011-12-13 ]

Launchpad bug id: 675922

Generated at Thu Feb 08 06:49:19 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.