Simplified test /* Server0: MySQL 6.0.14-alpha-gcov-debug-log */ # NOTE: These variables don't affect the crash, only included for completeness /*!50400 SET SESSION optimizer_switch = 'index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=off,mrr=on,mrr_cost_based=off,index_condition_pushdown=on' */; /*!50400 SET SESSION join_cache_level = 0 */; #/* Begin test case for query 0 */ --disable_warnings DROP TABLE /*! IF EXISTS */ CC; DROP TABLE /*! IF EXISTS */ C; --enable_warnings CREATE TABLE `CC` ( `col_int_key` int(11) DEFAULT NULL, `col_datetime_key` datetime DEFAULT NULL, `col_varchar_key` varchar(1) DEFAULT NULL, `col_varchar_nokey` varchar(1) DEFAULT NULL, KEY `col_int_key` (`col_int_key`), KEY `col_datetime_key` (`col_datetime_key`), KEY `col_varchar_key` (`col_varchar_key`,`col_int_key`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO `CC` VALUES (8,'2002-02-26 06:14:37','v','v'); INSERT INTO `CC` VALUES (9,'1900-01-01 00:00:00','r','r'); INSERT INTO `CC` VALUES (9,'2006-12-03 09:37:26','a','a'); INSERT INTO `CC` VALUES (186,'2008-05-26 12:27:10','m','m'); INSERT INTO `CC` VALUES (NULL,'2004-12-14 16:37:30','y','y'); INSERT INTO `CC` VALUES (2,'2003-02-11 21:19:41','j','j'); INSERT INTO `CC` VALUES (3,'2009-10-18 02:27:49','d','d'); INSERT INTO `CC` VALUES (0,'2000-09-26 07:45:57','z','z'); INSERT INTO `CC` VALUES (133,NULL,'e','e'); INSERT INTO `CC` VALUES (1,'2005-11-10 12:40:29','h','h'); INSERT INTO `CC` VALUES (8,'2009-04-25 00:00:00','b','b'); INSERT INTO `CC` VALUES (5,'2002-11-27 00:00:00','s','s'); INSERT INTO `CC` VALUES (5,'2004-01-26 20:32:32','e','e'); INSERT INTO `CC` VALUES (8,'2007-10-26 11:41:40','j','j'); INSERT INTO `CC` VALUES (6,'2005-10-07 00:00:00','e','e'); INSERT INTO `CC` VALUES (51,'2000-07-15 05:00:34','f','f'); INSERT INTO `CC` VALUES (4,'2000-04-03 16:33:32','v','v'); INSERT INTO `CC` VALUES (7,NULL,'x','x'); INSERT INTO `CC` VALUES (6,'2001-04-25 01:26:12','m','m'); INSERT INTO `CC` VALUES (4,'2000-12-27 00:00:00','c','c'); CREATE TABLE `C` ( `col_int_key` int(11) DEFAULT NULL, `col_datetime_key` datetime DEFAULT NULL, `col_varchar_key` varchar(1) DEFAULT NULL, `col_varchar_nokey` varchar(1) DEFAULT NULL, KEY `col_int_key` (`col_int_key`), KEY `col_datetime_key` (`col_datetime_key`), KEY `col_varchar_key` (`col_varchar_key`,`col_int_key`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO `C` VALUES (2,'2004-10-11 18:13:16','w','w'); INSERT INTO `C` VALUES (9,NULL,'m','m'); INSERT INTO `C` VALUES (3,'1900-01-01 00:00:00','m','m'); INSERT INTO `C` VALUES (9,'2009-07-25 00:00:00','k','k'); INSERT INTO `C` VALUES (NULL,NULL,'r','r'); INSERT INTO `C` VALUES (9,'2008-07-27 00:00:00','t','t'); INSERT INTO `C` VALUES (3,'2002-11-13 16:37:31','j','j'); INSERT INTO `C` VALUES (8,'1900-01-01 00:00:00','u','u'); INSERT INTO `C` VALUES (8,'2003-12-10 00:00:00','h','h'); INSERT INTO `C` VALUES (53,'2001-12-21 22:38:22','o','o'); INSERT INTO `C` VALUES (0,'2008-12-13 23:16:44',NULL,NULL); INSERT INTO `C` VALUES (5,'2005-08-15 12:39:41','k','k'); INSERT INTO `C` VALUES (166,NULL,'e','e'); INSERT INTO `C` VALUES (3,'2006-09-11 12:06:14','n','n'); INSERT INTO `C` VALUES (0,'2007-12-15 12:39:34','t','t'); INSERT INTO `C` VALUES (1,'2005-08-09 00:00:00','c','c'); INSERT INTO `C` VALUES (9,'2001-09-02 22:50:02','m','m'); INSERT INTO `C` VALUES (5,'2005-12-16 22:58:11','y','y'); INSERT INTO `C` VALUES (6,'2007-04-19 00:19:53','f','f'); INSERT INTO `C` VALUES (2,'1900-01-01 00:00:00','d','d'); EXPLAIN SELECT `col_datetime_key` FROM ( SELECT * FROM C ) table1 WHERE ( 'd' , 'z' ) NOT IN ( SELECT `col_varchar_key` , `col_varchar_nokey` FROM CC ) ; DROP TABLE CC; DROP TABLE C; #/* End of test case for query 0 */ #/* Begin test case for query 1 */ --disable_warnings DROP TABLE /*! IF EXISTS */ CC; DROP TABLE /*! IF EXISTS */ C; --enable_warnings CREATE TABLE `CC` ( `pk` int(11) NOT NULL AUTO_INCREMENT, `col_int_key` int(11) DEFAULT NULL, `col_date_key` date DEFAULT NULL, `col_datetime_key` datetime DEFAULT NULL, `col_varchar_key` varchar(1) DEFAULT NULL, `col_varchar_nokey` varchar(1) DEFAULT NULL, PRIMARY KEY (`pk`), KEY `col_int_key` (`col_int_key`), KEY `col_date_key` (`col_date_key`), KEY `col_datetime_key` (`col_datetime_key`), KEY `col_varchar_key` (`col_varchar_key`,`col_int_key`) ) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=latin1; INSERT INTO `CC` VALUES (10,8,NULL,'2002-02-26 06:14:37','v','v'); INSERT INTO `CC` VALUES (11,9,'2006-06-14','1900-01-01 00:00:00','r','r'); INSERT INTO `CC` VALUES (12,9,'2002-09-12','2006-12-03 09:37:26','a','a'); INSERT INTO `CC` VALUES (13,186,'2005-02-15','2008-05-26 12:27:10','m','m'); INSERT INTO `CC` VALUES (14,NULL,NULL,'2004-12-14 16:37:30','y','y'); INSERT INTO `CC` VALUES (15,2,'2008-11-04','2003-02-11 21:19:41','j','j'); INSERT INTO `CC` VALUES (16,3,'2004-09-04','2009-10-18 02:27:49','d','d'); INSERT INTO `CC` VALUES (17,0,'2006-06-05','2000-09-26 07:45:57','z','z'); INSERT INTO `CC` VALUES (18,133,'1900-01-01',NULL,'e','e'); INSERT INTO `CC` VALUES (19,1,'1900-01-01','2005-11-10 12:40:29','h','h'); INSERT INTO `CC` VALUES (20,8,'1900-01-01','2009-04-25 00:00:00','b','b'); INSERT INTO `CC` VALUES (21,5,'2005-01-13','2002-11-27 00:00:00','s','s'); INSERT INTO `CC` VALUES (22,5,'2006-05-21','2004-01-26 20:32:32','e','e'); INSERT INTO `CC` VALUES (23,8,'2003-09-08','2007-10-26 11:41:40','j','j'); INSERT INTO `CC` VALUES (24,6,'2006-12-23','2005-10-07 00:00:00','e','e'); INSERT INTO `CC` VALUES (25,51,'2006-10-15','2000-07-15 05:00:34','f','f'); INSERT INTO `CC` VALUES (26,4,'2005-04-06','2000-04-03 16:33:32','v','v'); INSERT INTO `CC` VALUES (27,7,'2008-04-07',NULL,'x','x'); INSERT INTO `CC` VALUES (28,6,'2006-10-10','2001-04-25 01:26:12','m','m'); INSERT INTO `CC` VALUES (29,4,'1900-01-01','2000-12-27 00:00:00','c','c'); CREATE TABLE `C` ( `pk` int(11) NOT NULL AUTO_INCREMENT, `col_int_key` int(11) DEFAULT NULL, `col_date_key` date DEFAULT NULL, `col_datetime_key` datetime DEFAULT NULL, `col_varchar_key` varchar(1) DEFAULT NULL, `col_varchar_nokey` varchar(1) DEFAULT NULL, PRIMARY KEY (`pk`), KEY `col_int_key` (`col_int_key`), KEY `col_date_key` (`col_date_key`), KEY `col_datetime_key` (`col_datetime_key`), KEY `col_varchar_key` (`col_varchar_key`,`col_int_key`) ) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=latin1; INSERT INTO `C` VALUES (1,2,NULL,'2004-10-11 18:13:16','w','w'); INSERT INTO `C` VALUES (2,9,'2001-09-19',NULL,'m','m'); INSERT INTO `C` VALUES (3,3,'2004-09-12','1900-01-01 00:00:00','m','m'); INSERT INTO `C` VALUES (4,9,NULL,'2009-07-25 00:00:00','k','k'); INSERT INTO `C` VALUES (5,NULL,'2002-07-19',NULL,'r','r'); INSERT INTO `C` VALUES (6,9,'2002-12-16','2008-07-27 00:00:00','t','t'); INSERT INTO `C` VALUES (7,3,'2006-02-08','2002-11-13 16:37:31','j','j'); INSERT INTO `C` VALUES (8,8,'2006-08-28','1900-01-01 00:00:00','u','u'); INSERT INTO `C` VALUES (9,8,'2001-04-14','2003-12-10 00:00:00','h','h'); INSERT INTO `C` VALUES (10,53,'2000-01-05','2001-12-21 22:38:22','o','o'); INSERT INTO `C` VALUES (11,0,'2003-12-06','2008-12-13 23:16:44',NULL,NULL); INSERT INTO `C` VALUES (12,5,'1900-01-01','2005-08-15 12:39:41','k','k'); INSERT INTO `C` VALUES (13,166,'2002-11-27',NULL,'e','e'); INSERT INTO `C` VALUES (14,3,NULL,'2006-09-11 12:06:14','n','n'); INSERT INTO `C` VALUES (15,0,'2003-05-27','2007-12-15 12:39:34','t','t'); INSERT INTO `C` VALUES (16,1,'2005-05-03','2005-08-09 00:00:00','c','c'); INSERT INTO `C` VALUES (17,9,'2001-04-18','2001-09-02 22:50:02','m','m'); INSERT INTO `C` VALUES (18,5,'2005-12-27','2005-12-16 22:58:11','y','y'); INSERT INTO `C` VALUES (19,6,'2004-08-20','2007-04-19 00:19:53','f','f'); INSERT INTO `C` VALUES (20,2,'1900-01-01','1900-01-01 00:00:00','d','d'); EXPLAIN EXTENDED SELECT SQL_SMALL_RESULT table1 . `pk` AS field1 , table1 . `col_datetime_key` AS field2 FROM ( ( SELECT DISTINCT SUBQUERY1_t1 . * FROM C AS SUBQUERY1_t1 ) AS table1 LEFT JOIN CC AS table2 ON (table2 . `col_varchar_key` = table1 . `col_varchar_key` ) ) WHERE ( ( 'd', 'z' ) NOT IN ( SELECT SUBQUERY2_t1 . `col_varchar_key` AS SUBQUERY2_field1 , SUBQUERY2_t1 . `col_varchar_nokey` AS SUBQUERY2_field2 FROM CC AS SUBQUERY2_t1 ) ) AND ( table1 . `col_int_key` IN (224) OR table1 . `col_int_key` > 241 AND table1 . `col_int_key` < ( 241 + 241 ) ) ORDER BY table1 . `col_date_key` ; DROP TABLE CC; DROP TABLE C; #/* End of test case for query 1 */