Bug #72421 | Regression bug with subqueries in WHERE component | ||
---|---|---|---|
Submitted: | 22 Apr 2014 11:33 | Modified: | 17 Sep 2014 5:21 |
Reporter: | Steve Exley | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Optimizer | Severity: | S3 (Non-critical) |
Version: | 5.6.17-4 | OS: | Linux (RH Enterprise, x64) |
Assigned to: | CPU Architecture: | Any | |
Tags: | regression |
[22 Apr 2014 11:33]
Steve Exley
[22 Apr 2014 11:50]
MySQL Verification Team
C:\dbs>c:\dbs\5.1\bin\mysql -uroot --port=3510 --debug-info --prompt="mysql 5.1 > " Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.74-Win X64 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql 5.1 > CREATE DATABASE D22; Query OK, 1 row affected (0.03 sec) mysql 5.1 > USE D22 Database changed mysql 5.1 > CREATE TABLE `test1` ( -> `test1_col1` INT(10) NULL -> ); Query OK, 0 rows affected (0.08 sec) mysql 5.1 > INSERT INTO `test1` (`test1_col1`) VALUES (5); Query OK, 1 row affected (0.01 sec) mysql 5.1 > CREATE TABLE `test2` ( -> `test2_col1` INT(10) NULL -> ); Query OK, 0 rows affected (0.05 sec) mysql 5.1 > INSERT INTO `test2` (`test2_col1`) VALUES (1),(2),(3),(4),(5); Query OK, 5 rows affected (0.01 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql 5.1 > CREATE TABLE `test3` ( -> `test3_col1` INT(10) NULL -> ); Query OK, 0 rows affected (0.08 sec) mysql 5.1 > INSERT INTO `test3` (`test3_col1`) VALUES (3); Query OK, 1 row affected (0.00 sec) mysql 5.1 > SELECT * FROM test1 WHERE ( -> SELECT test2_col1 -> FROM test2 -> WHERE test2_col1=3) -> IN ( -> SELECT test3_col1 -> FROM test3); +------------+ | test1_col1 | +------------+ | 5 | +------------+ 1 row in set (0.00 sec) mysql 5.1 > exit Bye C:\dbs>net start mysqld56 The MySQLD56 service is starting. The MySQLD56 service was started successfully. C:\dbs>56 C:\dbs>c:\dbs\5.6\bin\mysql -uroot --port=3560 --debug-info --prompt="mysql 5.6 > " Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.19 Source distribution Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql 5.6 > CREATE DATABASE D22; Query OK, 1 row affected (0.01 sec) mysql 5.6 > USE D22 Database changed mysql 5.6 > CREATE TABLE `test1` ( -> `test1_col1` INT(10) NULL -> ); Query OK, 0 rows affected (0.44 sec) mysql 5.6 > INSERT INTO `test1` (`test1_col1`) VALUES (5); Query OK, 1 row affected (0.02 sec) mysql 5.6 > CREATE TABLE `test2` ( -> `test2_col1` INT(10) NULL -> ); Query OK, 0 rows affected (0.41 sec) mysql 5.6 > INSERT INTO `test2` (`test2_col1`) VALUES (1),(2),(3),(4),(5); Query OK, 5 rows affected (0.02 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql 5.6 > CREATE TABLE `test3` ( -> `test3_col1` INT(10) NULL -> ); Query OK, 0 rows affected (0.30 sec) mysql 5.6 > INSERT INTO `test3` (`test3_col1`) VALUES (3); Query OK, 1 row affected (0.03 sec) mysql 5.6 > SELECT * FROM test1 WHERE ( -> SELECT test2_col1 -> FROM test2 -> WHERE test2_col1=3) -> IN ( -> SELECT test3_col1 -> FROM test3); Empty set (0.00 sec) mysql 5.6 >
[22 Apr 2014 12:06]
MySQL Verification Team
Thank you for the bug report. Verified as described. C:\dbs>net start mysqld55 The MySQLD55 service is starting.. The MySQLD55 service was started successfully. C:\dbs>55 C:\dbs>c:\dbs\5.5\bin\mysql -uroot --port=3550 --prompt="mysql 5.5 > " Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.5.38 Source distribution Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql 5.5 > CREATE DATABASE D22; Query OK, 1 row affected (0.02 sec) mysql 5.5 > USE D22 Database changed mysql 5.5 > CREATE TABLE `test1` ( -> `test1_col1` INT(10) NULL -> ); Query OK, 0 rows affected (0.11 sec) mysql 5.5 > INSERT INTO `test1` (`test1_col1`) VALUES (5); Query OK, 1 row affected (0.03 sec) mysql 5.5 > CREATE TABLE `test2` ( -> `test2_col1` INT(10) NULL -> ); Query OK, 0 rows affected (0.08 sec) mysql 5.5 > INSERT INTO `test2` (`test2_col1`) VALUES (1),(2),(3),(4),(5); Query OK, 5 rows affected (0.05 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql 5.5 > CREATE TABLE `test3` ( -> `test3_col1` INT(10) NULL -> ); Query OK, 0 rows affected (0.06 sec) mysql 5.5 > INSERT INTO `test3` (`test3_col1`) VALUES (3); Query OK, 1 row affected (0.03 sec) mysql 5.5 > SELECT * FROM test1 WHERE ( -> SELECT test2_col1 -> FROM test2 -> WHERE test2_col1=3) -> IN ( -> SELECT test3_col1 -> FROM test3); +------------+ | test1_col1 | +------------+ | 5 | +------------+ 1 row in set (0.00 sec) mysql 5.5 >
[17 Sep 2014 5:21]
Erlend Dahl
This has been fixed in 5.6.21 and 5.7.5, under the heading of BUG#18447874.