[MDEV-12399] [Draft] Wrong result Created: 2017-03-29  Updated: 2017-08-10  Resolved: 2017-08-10

Status: Closed
Project: MariaDB Server
Component/s: Optimizer
Affects Version/s: 5.5, 10.0, 10.1, 10.2
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None

Attachments: File t8.test    

 Description   

SELECT COUNT( alias1.`col_float_unsigned_null` ) AS field1 FROM ( ( SELECT SQ1_alias1.* FROM `view_table100_aria_0` AS SQ1_alias1 WHERE SQ1_alias1.`col_int_unsigned_not_null` < 6 ) AS alias1, `table20_aria` AS alias2 ) WHERE alias1.`col_int_unsigned_not_null` NOT IN ( SELECT SQ2_alias1.`col_int_null` AS SQ2_ifield1 FROM ( `view_table20_myisam_0` AS SQ2_alias1, `table1_innodb` AS SQ2_alias2 ) WHERE alias2.`col_int_unsigned_not_null` IN ( ( SELECT C_SQ1_alias1.`col_int_unsigned_null` AS C_SQ1_ifield1 FROM `table20_innodb` AS C_SQ1_alias1 GROUP BY C_SQ1_ifield1 ) ) AND SQ2_alias2.`col_char_2_null` < SQ2_alias1.`col_varchar_64_null` ) HAVING field1 >= 4 ORDER BY field1;
field1
700
SET SESSION optimizer_switch = REPLACE( @@optimizer_switch, "=on", "=off" );
SET SESSION optimizer_switch = "in_to_exists=on";
SELECT COUNT( alias1.`col_float_unsigned_null` ) AS field1 FROM ( ( SELECT SQ1_alias1.* FROM `view_table100_aria_0` AS SQ1_alias1 WHERE SQ1_alias1.`col_int_unsigned_not_null` < 6 ) AS alias1, `table20_aria` AS alias2 ) WHERE alias1.`col_int_unsigned_not_null` NOT IN ( SELECT SQ2_alias1.`col_int_null` AS SQ2_ifield1 FROM ( `view_table20_myisam_0` AS SQ2_alias1, `table1_innodb` AS SQ2_alias2 ) WHERE alias2.`col_int_unsigned_not_null` IN ( ( SELECT C_SQ1_alias1.`col_int_unsigned_null` AS C_SQ1_ifield1 FROM `table20_innodb` AS C_SQ1_alias1 GROUP BY C_SQ1_ifield1 ) ) AND SQ2_alias2.`col_char_2_null` < SQ2_alias1.`col_varchar_64_null` ) HAVING field1 >= 4 ORDER BY field1;
field1
525



 Comments   
Comment by Elena Stepanova [ 2017-08-10 ]

Fixed by this commit:

commit b0395d8701ec49f49ad23f9917a3b2369bb49e7a
Author: Igor Babaev <igor@askmonty.org>
Date:   Tue Apr 4 10:04:52 2017 -0700
 
    Fixed the bug mdev-12429 and its duplicates mdev-12145 and mdev-9886.
    
    Also fixed a wrong result for a test case for mdev-7691
    (the alternative one).
    The test  cases for all these bug have materialized semi-joins used
    inside dependent sub-queries.
    
    The patch actually reverts the change inroduced by Monty in 2003.
    It looks like this change is not valid anymore after the implementation
    of semi-joins.
    Adjusted output from EXPLAIN for many other test cases.

Generated at Thu Feb 08 07:57:25 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.