Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Minor
-
Resolution: Won't Fix
-
Affects Version/s: 5.1.67, 5.2.14, 5.3.12
-
Fix Version/s: None
-
Component/s: None
-
Labels:
Description
The following query:
SELECT MAX( DISTINCT table2 . `col_varchar_key` ) AS field1 , table2 . `col_datetime_key` AS field2 , table2 . `col_datetime_key` AS field3 , table2 . `col_int_key` AS field4 , table2 . `col_date_key` AS field5 , table1 . `col_varchar_key` AS field6 , table1 . `col_time_key` AS field7 , table1 . `col_date_key` AS field8 , SUM( DISTINCT table2 . `col_varchar_key` ) AS field9 , table2 . `col_datetime_key` AS field10 , table1 . `col_datetime_key` AS field11 , MIN( DISTINCT table1 . `col_int_key` ) AS field12 , table1 . `col_date_key` AS field13 , ( ( table1 . `col_int_key` ) * ( table1 . `pk` ) ) AS field14 , table1 . `col_datetime_key` AS field15 , table2 . `col_varchar_key` AS field16 , table1 . `col_int_nokey` AS field17 , table2 . `col_date_key` AS field18 , table2 . `col_int_key` AS field19 , table2 . `col_date_key` AS field20 , table1 . `col_varchar_nokey` AS field21
FROM ( D AS table1 INNER JOIN ( ( CC AS table2 INNER JOIN CC AS table3 ON (( table3 . `col_varchar_key` <> table2 . `col_varchar_key` ) AND ( table3 . `col_varchar_key` > table2 . `col_varchar_nokey` ) ) ) ) ON (( table3 . `col_varchar_key` <> table2 . `col_varchar_key` ) OR ( table3 . `col_int_key` > table2 . `pk` ) ) )
WHERE table1 . `col_int_key` = 198 OR table2 . `col_varchar_nokey` < 'u'
GROUP BY field2, field3, field4, field5, field6, field7, field8, field10, field11, field13, field14, field15, field16, field17, field18, field19, field20, field21
HAVING field1 >= 'ou'
ORDER BY field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21 , table1 . `col_datetime_key` DESC
;
Causes the following valgrind warnings:
==19529== Syscall param write(buf) points to uninitialised byte(s)
==19529== at 0xBF137B: ??? (in /lib/libpthread-2.12.so)
==19529== by 0x872BFC2: my_b_flush_io_cache (mf_iocache.c:1758)
==19529== by 0x872B792: _my_b_write (mf_iocache.c:1514)
==19529== by 0x83C5170: write_keys(st_sort_param*, unsigned char*, unsigned int, st_io_cache, st_io_cache*) (filesort.cc:712)
==19529== by 0x83C4CC4: find_all_keys(st_sort_param*, SQL_SELECT*, unsigned char*, st_io_cache, st_io_cache*, st_io_cache*) (filesort.cc:620)
==19529== by 0x83C38E8: filesort(THD*, st_table*, st_sort_field*, unsigned int, SQL_SELECT*, unsigned long long, bool, unsigned long long*) (filesort.cc:246)
==19529== by 0x83274E2: create_sort_index(THD*, JOIN*, st_order*, unsigned long long, unsigned long long, bool) (sql_select.cc:16026)
==19529== by 0x830441B: JOIN::exec() (sql_select.cc:2125)
==19529== by 0x8305EDF: mysql_select(THD*, Item**, TABLE_LIST, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) (sql_select.cc:2613)
==19529== by 0x82FE59A: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:277)
==19529== by 0x829B753: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5081)
==19529== by 0x8292133: mysql_execute_command(THD*) (sql_parse.cc:2265)
==19529== by 0x829D934: mysql_parse(THD*, char const*, unsigned int, char const**) (sql_parse.cc:6027)
==19529== by 0x828FB65: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1184)
==19529== by 0x828F00B: do_command(THD*) (sql_parse.cc:890)
==19529== by 0x828C16B: handle_one_connection (sql_connect.cc:1153)
==19529== Address 0x11cf504b is 107 bytes inside a block of size 65,564 alloc'd
==19529== at 0x4005BDC: malloc (vg_replace_malloc.c:195)
==19529== by 0x872EA9A: _mymalloc (safemalloc.c:137)
==19529== by 0x872982B: init_io_cache (mf_iocache.c:244)
==19529== by 0x872D555: open_cached_file (mf_cache.c:69)
==19529== by 0x83C504A: write_keys(st_sort_param*, unsigned char*, unsigned int, st_io_cache, st_io_cache*) (filesort.cc:700)
==19529== by 0x83C4CC4: find_all_keys(st_sort_param*, SQL_SELECT*, unsigned char*, st_io_cache, st_io_cache*, st_io_cache*) (filesort.cc:620)
==19529== by 0x83C38E8: filesort(THD*, st_table*, st_sort_field*, unsigned int, SQL_SELECT*, unsigned long long, bool, unsigned long long*) (filesort.cc:246)
==19529== by 0x83274E2: create_sort_index(THD*, JOIN*, st_order*, unsigned long long, unsigned long long, bool) (sql_select.cc:16026)
==19529== by 0x830441B: JOIN::exec() (sql_select.cc:2125)
==19529== by 0x8305EDF: mysql_select(THD*, Item**, TABLE_LIST, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) (sql_select.cc:2613)
==19529== by 0x82FE59A: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:277)
==19529== by 0x829B753: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5081)
==19529== by 0x8292133: mysql_execute_command(THD*) (sql_parse.cc:2265)
==19529== by 0x829D934: mysql_parse(THD*, char const*, unsigned int, char const**) (sql_parse.cc:6027)
==19529== by 0x828FB65: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1184)
==19529== by 0x828F00B: do_command(THD*) (sql_parse.cc:890)
==19529==
==19529== Syscall param write(buf) points to uninitialised byte(s)
==19529== at 0xBF137B: ??? (in /lib/libpthread-2.12.so)
==19529== by 0x872BFC2: my_b_flush_io_cache (mf_iocache.c:1758)
==19529== by 0x83C3B97: filesort(THD*, st_table*, st_sort_field*, unsigned int, SQL_SELECT*, unsigned long long, bool, unsigned long long*) (filesort.cc:290)
==19529== by 0x83274E2: create_sort_index(THD*, JOIN*, st_order*, unsigned long long, unsigned long long, bool) (sql_select.cc:16026)
==19529== by 0x830441B: JOIN::exec() (sql_select.cc:2125)
==19529== by 0x8305EDF: mysql_select(THD*, Item**, TABLE_LIST, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) (sql_select.cc:2613)
==19529== by 0x82FE59A: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:277)
==19529== by 0x829B753: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5081)
==19529== by 0x8292133: mysql_execute_command(THD*) (sql_parse.cc:2265)
==19529== by 0x829D934: mysql_parse(THD*, char const*, unsigned int, char const**) (sql_parse.cc:6027)
==19529== by 0x828FB65: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1184)
==19529== by 0x828F00B: do_command(THD*) (sql_parse.cc:890)
==19529== by 0x828C16B: handle_one_connection (sql_connect.cc:1153)
==19529== by 0xBEA918: start_thread (in /lib/libpthread-2.12.so)
==19529== by 0xB2CCBD: clone (in /lib/libc-2.12.so)
==19529== Address 0x11cf5003 is 35 bytes inside a block of size 65,564 alloc'd
==19529== at 0x4005BDC: malloc (vg_replace_malloc.c:195)
==19529== by 0x872EA9A: _mymalloc (safemalloc.c:137)
==19529== by 0x872982B: init_io_cache (mf_iocache.c:244)
==19529== by 0x872D555: open_cached_file (mf_cache.c:69)
==19529== by 0x83C504A: write_keys(st_sort_param*, unsigned char*, unsigned int, st_io_cache, st_io_cache*) (filesort.cc:700)
==19529== by 0x83C4CC4: find_all_keys(st_sort_param*, SQL_SELECT*, unsigned char*, st_io_cache, st_io_cache*, st_io_cache*) (filesort.cc:620)
==19529== by 0x83C38E8: filesort(THD*, st_table*, st_sort_field*, unsigned int, SQL_SELECT*, unsigned long long, bool, unsigned long long*) (filesort.cc:246)
==19529== by 0x83274E2: create_sort_index(THD*, JOIN*, st_order*, unsigned long long, unsigned long long, bool) (sql_select.cc:16026)
==19529== by 0x830441B: JOIN::exec() (sql_select.cc:2125)
==19529== by 0x8305EDF: mysql_select(THD*, Item**, TABLE_LIST, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) (sql_select.cc:2613)
==19529== by 0x82FE59A: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:277)
==19529== by 0x829B753: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5081)
==19529== by 0x8292133: mysql_execute_command(THD*) (sql_parse.cc:2265)
==19529== by 0x829D934: mysql_parse(THD*, char const*, unsigned int, char const**) (sql_parse.cc:6027)
==19529== by 0x828FB65: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1184)
==19529== by 0x828F00B: do_command(THD*) (sql_parse.cc:890)
==19529==
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
Re: Valgrind warnings around create_sort_index() in maria-5.3-mwl128
Test case. Unfortunately automatic simplification is not currently available for Valgrind errors.
CREATE TABLE `CC` (
`pk` int(11) NOT NULL AUTO_INCREMENT,
`col_int_nokey` int(11) NOT NULL,
`col_int_key` int(11) NOT NULL,
`col_date_key` date NOT NULL,
`col_time_key` time NOT NULL,
`col_datetime_key` datetime NOT NULL,
`col_varchar_key` varchar(1) NOT NULL,
`col_varchar_nokey` varchar(1) NOT NULL,
PRIMARY KEY (`pk`),
KEY `col_int_key` (`col_int_key`),
KEY `col_date_key` (`col_date_key`),
KEY `col_time_key` (`col_time_key`),
KEY `col_datetime_key` (`col_datetime_key`),
KEY `col_varchar_key` (`col_varchar_key`,`col_int_key`)
) ENGINE=MEMORY AUTO_INCREMENT=30 DEFAULT CHARSET=latin1;
INSERT INTO `CC` VALUES (10,3,8,'2008-12-04','00:00:00','2001-02-09 08:48:05','v','v');
INSERT INTO `CC` VALUES (11,3,8,'2009-03-28','00:00:00','1900-01-01 00:00:00','f','f');
INSERT INTO `CC` VALUES (12,3,5,'1900-01-01','00:55:47','2006-07-23 00:00:00','v','v');
INSERT INTO `CC` VALUES (13,2,8,'2009-10-02','00:00:00','1900-01-01 00:00:00','s','s');
INSERT INTO `CC` VALUES (14,1,8,'1900-01-01','20:51:59','1900-01-01 00:00:00','a','a');
INSERT INTO `CC` VALUES (15,0,6,'2008-06-04','09:47:27','2002-08-15 00:00:00','p','p');
INSERT INTO `CC` VALUES (16,8,7,'2009-01-13','21:58:29','2004-01-12 16:12:14','z','z');
INSERT INTO `CC` VALUES (17,5,2,'1900-01-01','22:45:53','2005-12-05 16:09:29','a','a');
INSERT INTO `CC` VALUES (18,9,5,'2008-01-28','14:06:48','2009-12-10 00:00:00','h','h');
INSERT INTO `CC` VALUES (19,5,7,'2004-09-18','22:17:16','2009-07-18 00:00:00','h','h');
INSERT INTO `CC` VALUES (20,4,2,'2006-10-14','14:59:37','2007-06-27 11:01:12','v','v');
INSERT INTO `CC` VALUES (21,2,9,'1900-01-01','23:37:40','2007-02-18 01:53:15','v','v');
INSERT INTO `CC` VALUES (22,33,142,'2000-11-28','14:14:01','2001-08-17 18:39:57','b','b');
INSERT INTO `CC` VALUES (23,5,3,'2008-04-04','02:54:19','2007-03-18 08:25:05','y','y');
INSERT INTO `CC` VALUES (24,1,0,'2002-07-13','06:34:26','2006-02-15 00:00:00','v','v');
INSERT INTO `CC` VALUES (25,9,3,'2003-01-03','18:07:38','2004-07-07 20:33:16','m','m');
INSERT INTO `CC` VALUES (26,1,5,'2006-04-02','13:55:23','2007-12-15 00:00:00','z','z');
INSERT INTO `CC` VALUES (27,3,9,'2006-10-19','20:32:28','2005-07-21 13:22:19','n','n');
INSERT INTO `CC` VALUES (28,8,1,'2005-06-08','11:57:44','2007-08-27 08:08:38','d','d');
INSERT INTO `CC` VALUES (29,231,107,'2006-12-26','03:10:35','2003-01-21 20:49:51','a','a');
CREATE TABLE `D` (
`pk` int(11) NOT NULL AUTO_INCREMENT,
`col_int_nokey` int(11) NOT NULL,
`col_int_key` int(11) NOT NULL,
`col_date_key` date NOT NULL,
`col_time_key` time NOT NULL,
`col_datetime_key` datetime NOT NULL,
`col_varchar_key` varchar(1) NOT NULL,
`col_varchar_nokey` varchar(1) NOT NULL,
PRIMARY KEY (`pk`),
KEY `col_int_key` (`col_int_key`),
KEY `col_date_key` (`col_date_key`),
KEY `col_time_key` (`col_time_key`),
KEY `col_datetime_key` (`col_datetime_key`),
KEY `col_varchar_key` (`col_varchar_key`,`col_int_key`)
) ENGINE=MEMORY AUTO_INCREMENT=101 DEFAULT CHARSET=latin1;
INSERT INTO `D` VALUES (1,249,217,'2005-01-18','00:31:39','2009-02-20 15:11:46','v','v');
INSERT INTO `D` VALUES (2,1,8,'2008-08-08','19:20:08','2006-03-06 09:11:20','k','k');
INSERT INTO `D` VALUES (3,2,5,'2004-08-10','00:00:00','2005-02-13 08:32:24','s','s');
INSERT INTO `D` VALUES (4,172,232,'2001-12-19','04:31:40','2008-08-15 12:34:55','y','y');
INSERT INTO `D` VALUES (5,2,0,'2005-04-19','04:59:50','2006-08-28 09:48:16','g','g');
INSERT INTO `D` VALUES (6,0,2,'2000-06-09','15:44:21','2004-02-08 01:31:00','j','j');
INSERT INTO `D` VALUES (7,9,8,'2006-08-15','07:02:47','2002-11-20 05:29:23','g','g');
INSERT INTO `D` VALUES (8,7,8,'2002-06-05','17:51:04','2008-02-05 23:27:15','e','e');
INSERT INTO `D` VALUES (9,7,6,'1900-01-01','07:12:37','2005-11-20 15:04:39','v','v');
INSERT INTO `D` VALUES (10,0,4,'0000-00-00','00:00:00','2006-11-05 00:00:00','p','p');
INSERT INTO `D` VALUES (11,6,2,'1900-01-01','14:07:06','2006-08-06 00:00:00','e','e');
INSERT INTO `D` VALUES (12,7,9,'0000-00-00','00:00:00','2000-07-15 16:43:08','z','z');
INSERT INTO `D` VALUES (13,8,8,'2008-06-24','09:58:06','2004-03-23 00:00:00','f','f');
INSERT INTO `D` VALUES (14,8,9,'2001-04-21','00:00:00','2009-04-15 00:08:29','y','y');
INSERT INTO `D` VALUES (15,1,8,'1900-01-01','00:42:24','2002-10-09 21:02:09','k','k');
INSERT INTO `D` VALUES (16,3,3,'2001-06-15','00:00:00','2007-07-13 01:32:19','h','h');
INSERT INTO `D` VALUES (17,5,1,'2003-08-10','05:47:42','2003-10-05 09:56:59','u','u');
INSERT INTO `D` VALUES (18,5,7,'2002-05-19','00:00:00','2009-02-05 00:20:34','o','o');
INSERT INTO `D` VALUES (19,3,1,'2008-01-12','00:00:00','2007-10-11 10:41:25','z','z');
INSERT INTO `D` VALUES (20,1,8,'2002-01-23','16:16:04','1900-01-01 00:00:00','d','d');
INSERT INTO `D` VALUES (21,4,2,'2009-06-10','18:44:41','2007-05-26 00:00:00','c','c');
INSERT INTO `D` VALUES (22,5,5,'2009-01-03','00:00:00','2004-07-07 00:00:00','f','f');
INSERT INTO `D` VALUES (23,2,7,'2007-09-22','06:07:08','2001-01-23 12:29:20','i','i');
INSERT INTO `D` VALUES (24,1,6,'2006-02-12','11:02:01','2003-06-17 00:00:00','r','r');
INSERT INTO `D` VALUES (25,7,5,'2008-03-03','21:32:00','2000-12-25 08:41:43','m','m');
INSERT INTO `D` VALUES (26,5,1,'2000-08-16','17:15:12','2000-05-28 17:37:37','h','h');
INSERT INTO `D` VALUES (27,1,3,'2002-02-07','15:44:16','2002-07-12 19:18:28','w','w');
INSERT INTO `D` VALUES (28,5,3,'2001-06-04','06:21:34','2002-11-22 21:21:45','k','k');
INSERT INTO `D` VALUES (29,7,7,'2005-06-05','18:24:44','2000-02-25 03:07:15','g','g');
INSERT INTO `D` VALUES (30,0,9,'2008-04-12','03:52:43','2001-02-20 07:06:40','f','f');
INSERT INTO `D` VALUES (31,66,49,'0000-00-00','17:37:09','2009-12-23 19:40:09','d','d');
INSERT INTO `D` VALUES (32,7,2,'2006-12-21','16:35:00','2004-06-05 20:14:19','i','i');
INSERT INTO `D` VALUES (33,5,4,'2001-10-10','00:00:00','2007-10-26 00:00:00','k','k');
INSERT INTO `D` VALUES (34,6,2,'2000-05-23','13:33:01','2002-04-19 18:28:34','m','m');
INSERT INTO `D` VALUES (35,2,1,'2002-08-10','07:29:31','2002-06-25 08:07:07','g','g');
INSERT INTO `D` VALUES (36,3,8,'2004-12-01','06:22:30','2008-08-27 23:13:53','p','p');
INSERT INTO `D` VALUES (37,6,64,'2004-06-08','07:14:10','2004-11-23 11:12:03','q','q');
INSERT INTO `D` VALUES (38,5,1,'2003-03-18','03:38:41','2002-02-01 20:26:26','m','m');
INSERT INTO `D` VALUES (39,6,5,'2000-05-06','00:00:00','2003-10-02 08:21:57','x','x');
INSERT INTO `D` VALUES (40,3,7,'2000-03-24','09:07:20','2002-10-04 23:30:25','c','c');
INSERT INTO `D` VALUES (41,6,3,'2000-05-25','06:06:41','2006-04-01 20:07:58','b','b');
INSERT INTO `D` VALUES (42,2,9,'2001-08-05','03:50:47','2001-10-18 14:26:08','t','t');
INSERT INTO `D` VALUES (43,4,6,'2009-01-04','10:17:40','2004-04-19 04:18:47','p','p');
INSERT INTO `D` VALUES (44,0,4,'2009-02-14','03:37:09','2000-01-06 20:32:48','r','r');
INSERT INTO `D` VALUES (45,7,3,'2006-04-17','18:58:26','2000-01-18 18:01:27','x','x');
INSERT INTO `D` VALUES (46,125,119,'2007-09-18','04:39:05','2007-04-16 00:00:00','u','u');
INSERT INTO `D` VALUES (47,0,1,'2000-08-10','05:09:46','2006-07-08 00:00:00','u','u');
INSERT INTO `D` VALUES (48,3,8,'0000-00-00','06:14:06','2007-09-02 05:48:23','c','c');
INSERT INTO `D` VALUES (49,2,0,'2005-08-06','00:00:00','2003-12-15 00:00:00','q','q');
INSERT INTO `D` VALUES (50,232,84,'0000-00-00','00:00:00','2001-09-18 16:11:13','r','r');
INSERT INTO `D` VALUES (51,108,42,'1900-01-01','00:00:00','2002-08-03 00:00:00','n','n');
INSERT INTO `D` VALUES (52,8,9,'2008-04-14','08:36:34','2000-02-13 19:15:38','l','l');
INSERT INTO `D` VALUES (53,0,9,'2005-04-19','04:38:05','2002-09-09 10:58:07','c','c');
INSERT INTO `D` VALUES (54,7,6,'0000-00-00','00:36:57','2005-10-03 01:18:06','t','t');
INSERT INTO `D` VALUES (55,161,189,'2004-03-12','03:22:32','2003-04-19 00:00:00','o','o');
INSERT INTO `D` VALUES (56,1,7,'2008-02-10','14:59:11','2006-08-28 04:56:58','i','i');
INSERT INTO `D` VALUES (57,5,6,'2002-06-24','00:00:00','2009-12-05 15:13:00','v','v');
INSERT INTO `D` VALUES (58,6,0,'0000-00-00','17:16:18','2002-12-19 00:00:00','r','r');
INSERT INTO `D` VALUES (59,1,8,'2000-03-28','16:15:49','1900-01-01 00:00:00','z','z');
INSERT INTO `D` VALUES (60,8,5,'2004-02-26','00:00:00','2006-03-23 13:32:58','d','d');
INSERT INTO `D` VALUES (61,9,2,'2004-06-04','00:00:00','2009-08-03 13:39:36','y','y');
INSERT INTO `D` VALUES (62,7,7,'2007-07-14','16:36:53','2009-06-15 21:53:52','s','s');
INSERT INTO `D` VALUES (63,8,5,'0000-00-00','22:01:39','2005-03-28 11:25:18','u','u');
INSERT INTO `D` VALUES (64,9,4,'2003-06-20','15:46:33','2005-12-17 06:44:58','a','a');
INSERT INTO `D` VALUES (65,9,4,'2007-05-01','22:06:41','2006-02-21 02:26:41','p','p');
INSERT INTO `D` VALUES (66,3,5,'0000-00-00','20:07:22','2002-09-21 00:00:00','u','u');
INSERT INTO `D` VALUES (67,9,6,'2008-04-23','01:39:11','2003-09-25 06:41:08','a','a');
INSERT INTO `D` VALUES (68,2,3,'2005-06-18','15:00:02','2006-01-19 00:00:00','q','q');
INSERT INTO `D` VALUES (69,7,8,'2001-08-01','02:52:26','2006-04-27 00:00:00','y','y');
INSERT INTO `D` VALUES (70,182,11,'0000-00-00','13:12:53','2009-11-21 00:00:00','x','x');
INSERT INTO `D` VALUES (71,0,1,'2002-04-26','12:16:07','2008-05-21 04:30:11','z','z');
INSERT INTO `D` VALUES (72,0,5,'2002-11-09','00:00:00','2006-08-16 17:17:32','j','j');
INSERT INTO `D` VALUES (73,243,142,'2004-06-23','22:28:21','2004-07-13 18:36:14','i','i');
INSERT INTO `D` VALUES (74,9,5,'2001-12-17','06:44:08','2009-06-11 05:30:37','j','j');
INSERT INTO `D` VALUES (75,4,2,'2007-04-05','13:21:28','2001-02-19 00:04:56','h','h');
INSERT INTO `D` VALUES (76,7,9,'2001-02-28','07:53:22','2007-08-17 00:00:00','w','w');
INSERT INTO `D` VALUES (77,5,4,'1900-01-01','00:00:00','2005-12-14 00:00:00','g','g');
INSERT INTO `D` VALUES (78,9,4,'2004-11-20','17:25:18','2004-12-08 06:25:10','b','b');
INSERT INTO `D` VALUES (79,6,2,'2008-12-12','12:31:05','2001-09-02 16:17:35','q','q');
INSERT INTO `D` VALUES (80,213,120,'2002-01-12','13:45:43','2009-09-20 08:05:43','i','i');
INSERT INTO `D` VALUES (81,2,8,'2007-03-21','14:18:01','2005-08-20 21:52:10','j','j');
INSERT INTO `D` VALUES (82,9,9,'2001-10-18','20:38:54','2004-08-06 00:00:00','c','c');
INSERT INTO `D` VALUES (83,0,7,'2009-05-21','23:36:30','2003-04-23 18:29:07','l','l');
INSERT INTO `D` VALUES (84,6,8,'1900-01-01','21:40:11','2006-07-08 17:59:51','b','b');
INSERT INTO `D` VALUES (85,7,0,'2003-07-21','13:46:00','2003-02-28 16:54:49','e','e');
INSERT INTO `D` VALUES (86,2,0,'1900-01-01','12:14:50','2004-11-17 00:00:00','u','u');
INSERT INTO `D` VALUES (87,1,8,'2000-03-23','20:56:56','2008-01-22 23:55:20','s','s');
INSERT INTO `D` VALUES (88,6,3,'0000-00-00','09:50:33','2009-12-23 00:00:00','s','s');
INSERT INTO `D` VALUES (89,6,4,'2007-08-20','18:21:00','2003-11-09 08:15:38','z','z');
INSERT INTO `D` VALUES (90,0,2,'0000-00-00','11:06:01','2001-08-07 02:31:56','k','k');
INSERT INTO `D` VALUES (91,5,3,'2009-12-05','01:08:32','2009-06-22 07:26:26','n','n');
INSERT INTO `D` VALUES (92,8,8,'0000-00-00','19:26:57','2003-08-03 17:57:07','w','w');
INSERT INTO `D` VALUES (93,6,0,'2005-02-27','09:01:58','1900-01-01 00:00:00','v','v');
INSERT INTO `D` VALUES (94,9,5,'2004-01-27','00:55:46','2007-12-27 00:00:00','d','d');
INSERT INTO `D` VALUES (95,4,8,'2005-05-17','11:53:29','2005-01-03 00:00:00','n','n');
INSERT INTO `D` VALUES (96,3,9,'2009-02-28','00:00:00','2007-12-06 06:15:45','t','t');
INSERT INTO `D` VALUES (97,9,6,'0000-00-00','15:50:03','2007-02-24 00:00:00','r','r');
INSERT INTO `D` VALUES (98,8,2,'2003-10-24','09:20:20','2006-09-26 20:58:34','k','k');
INSERT INTO `D` VALUES (99,2,3,'0000-00-00','21:24:33','2004-04-20 18:58:38','k','k');
INSERT INTO `D` VALUES (100,6,4,'2008-01-06','13:49:03','2007-07-05 06:05:56','q','q');
SELECT MAX( DISTINCT table2 . `col_varchar_key` ) AS field1 , table2 . `col_datetime_key` AS field2 , table2 . `col_datetime_key` AS field3 , table2 . `col_int_key` AS field4 , table2 . `col_date_key` AS field5 , table1 . `col_varchar_key` AS field6 , table1 . `col_time_key` AS field7 , table1 . `col_date_key` AS field8 , SUM( DISTINCT table2 . `col_varchar_key` ) AS field9 , table2 . `col_datetime_key` AS field10 , table1 . `col_datetime_key` AS field11 , MIN( DISTINCT table1 . `col_int_key` ) AS field12 , table1 . `col_date_key` AS field13 , ( ( table1 . `col_int_key` ) * ( table1 . `pk` ) ) AS field14 , table1 . `col_datetime_key` AS field15 , table2 . `col_varchar_key` AS field16 , table1 . `col_int_nokey` AS field17 , table2 . `col_date_key` AS field18 , table2 . `col_int_key` AS field19 , table2 . `col_date_key` AS field20 , table1 . `col_varchar_nokey` AS field21
FROM ( D AS table1 INNER JOIN ( ( CC AS table2 INNER JOIN CC AS table3 ON (( table3 . `col_varchar_key` <> table2 . `col_varchar_key` ) AND ( table3 . `col_varchar_key` > table2 . `col_varchar_nokey` ) ) ) ) ON (( table3 . `col_varchar_key` <> table2 . `col_varchar_key` ) OR ( table3 . `col_int_key` > table2 . `pk` ) ) )
WHERE table1 . `col_int_key` = 198 OR table2 . `col_varchar_nokey` < 'u'
GROUP BY field2, field3, field4, field5, field6, field7, field8, field10, field11, field13, field14, field15, field16, field17, field18, field19, field20, field21
HAVING field1 >= 'ou'
ORDER BY field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21 , table1 . `col_datetime_key` DESC
;