mysql5/mysql-5.7.27/mysql-test/include/explain_for_connection_rqg.inc

356 lines
201 KiB
PHP
Raw Normal View History

###############################################################################
# #
# Test: To compare Explain vs Explain Other plans of RQG queries #
# #
# #
# Creation Date: 2012-12-15 #
# Author : Tarique Saleem #
# #
# #
# Description:This test contains Explain vs Explain Other plans on different #
# queries generated from RQG optimizer grammaers. Some distinct #
# have been taken from the differences cases reported. #
# #
# 1. Sync Point used is "before_reset_query_plan" #
# 2. Format used is JSON #
# #
# #
###############################################################################
echo "WL6369 Explain for Connection";
####################################################################################################################
# Checking if the build is Debug build else skip the test because debug sync points are avilable in Debug build #
####################################################################################################################
--source include/have_debug.inc
--source include/have_debug_sync.inc
--source include/not_embedded.inc
--source include/not_windows.inc
--source include/have_grep.inc
--disable_query_log
--disable_result_log
--disable_warnings
connect (ce, localhost, root,,test);
connect (cq, localhost, root,,test);
connection cq;
SET GLOBAL innodb_stats_persistent=on;
let $point= before_reset_query_plan;
###############################
#MTR FOR BUG#14581870 #
###############################
CREATE TABLE a1 (
col_int int(11) DEFAULT NULL,
pk int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (pk)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE aa1 (
col_int int(11) DEFAULT NULL,
pk int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (pk)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
let $query=SELECT DISTINCT alias2.col_int AS field1 , alias2.col_int AS field2 FROM a1 AS alias1 LEFT JOIN aa1 AS alias2 ON alias1.pk = alias2.pk WHERE ( alias1.col_int = 8 OR alias1 .pk <= alias1.col_int ) GROUP BY field1, field2 ORDER BY field1, field2 DESC;
--source include/explain_for_connection.inc
DROP TABLE a1;
DROP TABLE aa1;
###############################
#MTR FOR BUG#14582154 #
###############################
CREATE TABLE f1 (
col_varchar_1024_latin1_key varchar(1024) DEFAULT NULL,
pk int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (pk),
KEY col_varchar_1024_latin1_key (col_varchar_1024_latin1_key(1000))
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;
insert ignore into f1 values
(1,"I'll"),
(2,'v'),
(3,'time'),
(4,"I'm"),
(5,'o'),
(6,'rkmqmknbtoervqlzsvasurqdhucjxdoygxqxnvgqmwcidtumxwcftedxqyciakhxptzfpjwrge
ozxnbycjzxiecurgmhbubpijrllquntppirzdphpduhwqhnsmujjjbldnkiwsrsxndolpujdnozrhh
cxsxwujulpjdzvkpaijursprnwgrpquarwkazzjeiwvdmdivjqsxmhjwagewclcfykywlcnemiuaab
rrifnhuufzasunkrcpvasdqkxbwptigbpnesqigwegcnfeuvrgnecpthmhffqbythjwpukqubzpomn
trddrwhzjtqvbjiklcekxqyoxsolbxthdcprswpjxixmvfwmsyseblwcvumvyvbitxqjxdzdytunqv
vrmpyxrencqhuyrfluezqekmqpwutxnzddrbjycyoyqbzsoxvillooqxuvoxcgohdbytybwcqxdwtq
rebgjzbycekyjgbpmqadutrqluyxhrdodxqqjwasfkvetfobocgpftrhvxugmmszwpoglvarsfiljr
zimqeplevleqdhepkhcfrahcpjjvhkkwblfenfpetwejamgeefplsksusqvazujabvkfek'),
(7,'y');
ANALYZE TABLE f1;
CREATE TABLE a2 (
col_varchar_10_utf8_key varchar(10) CHARACTER SET utf8 DEFAULT NULL,
KEY col_varchar_10_utf8_key (col_varchar_10_utf8_key)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
let $query=SELECT DISTINCT alias1.pk AS field1 FROM f1 AS alias1 LEFT JOIN a2 AS alias2 ON alias1.col_varchar_1024_latin1_key = alias2 .col_varchar_10_utf8_key WHERE alias1.pk IN (5, 5) GROUP BY field1 HAVING field1 <= 3;
--source include/explain_for_connection.inc
DROP TABLE f1;
DROP TABLE a2;
###############################
#MTR FOR BUG#14586538 #
###############################
CREATE TABLE h2 (
pk int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (pk)
) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;
insert into h2 values (1),(2),(3),(4),(5),(6),(7),(8),(9);
ANALYZE TABLE h2;
CREATE TABLE aa3 (
col_int_key int(11) DEFAULT NULL,
KEY col_int_key (col_int_key)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
let $query=SELECT alias1.pk AS field1 FROM h2 AS alias1 LEFT JOIN aa3 AS alias2 ON alias1.pk = alias2.col_int_key WHERE alias1.pk <> 9 GROUP BY field1 ORDER BY field1 LIMIT 1 OFFSET 3;
--source include/explain_for_connection.inc
DROP TABLE h2;
DROP TABLE aa3;
###############################
#MTR FOR BUG#14591376 #
###############################
CREATE TABLE e1 (
col_int int(11) DEFAULT NULL,
pk int(11) NOT NULL AUTO_INCREMENT,
col_int_key int(11) DEFAULT NULL,
PRIMARY KEY (pk),
KEY col_int_key (col_int_key)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;
insert into e1 values (1, NULL,NULL);
insert into e1 values (2,6,NULL);
insert into e1 values (3,8,-1131610112);
insert into e1 values (4,2,-1009057792);
insert into e1 values (5,-1220345856,1);
insert into e1 values (6,NULL,-185204736);
ANALYZE TABLE e1;
CREATE TABLE cc2 (
col_int int(11) DEFAULT NULL
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
insert into cc2 values ( 685899776),(NULL);
ANALYZE TABLE CC2;
let $query=SELECT alias1.pk AS field1 FROM e1 AS alias1 RIGHT JOIN cc2 AS alias2 ON alias1.col_int = alias2.col_int WHERE alias1.col_int_key IN (8) ;
--source include/explain_for_connection.inc
DROP TABLE e1;
DROP TABLE cc2;
###############################
#MTR FOR Bug#15915676 #
###############################
CREATE TABLE t1 (
pk INT NOT NULL,
col_int INT,
col_varchar_key VARCHAR(10),
PRIMARY KEY (pk),
KEY col_varchar_key (col_varchar_key)
) ENGINE=InnoDB;
CREATE TABLE t2 (
pk INT NOT NULL,
col_varchar_key VARCHAR(10),
PRIMARY KEY (pk),
KEY col_varchar_key (col_varchar_key)
) ENGINE=InnoDB;
let $query=SELECT DISTINCT alias2.pk AS field1, alias2.pk AS field2, alias2.pk AS field3 FROM t1 AS alias1 RIGHT JOIN t2 AS alias2 ON alias1.col_varchar_key = alias2.col_varchar_key WHERE alias1.col_int >alias1.col_int HAVING field3 = 7 ORDER BY field1, field2, field3 LIMIT 10 OFFSET 1;
--source include/explain_for_connection.inc
drop table t1;
drop table t2;
#ALL OTHER TESTS FROM RQG RUNS
DROP TABLE IF EXISTS a;
CREATE TABLE a (pk INTEGER AUTO_INCREMENT,col_int_nokey INTEGER ,col_int_key INTEGER ,col_date_key DATE ,col_date_nokey DATE ,col_time_key TIME ,col_time_nokey TIME ,col_datetime_key DATETIME ,col_datetime_nokey DATETIME ,col_varchar_key VARCHAR(1) ,col_varchar_nokey VARCHAR(1) ,PRIMARY KEY (pk),KEY (col_int_key),KEY (col_date_key),KEY (col_time_key),KEY (col_datetime_key),KEY (col_varchar_key, col_int_key)) ENGINE=INNODB;
DROP TABLE IF EXISTS b;
CREATE TABLE b (pk INTEGER AUTO_INCREMENT,col_int_nokey INTEGER ,col_int_key INTEGER ,col_date_key DATE ,col_date_nokey DATE , col_time_key TIME ,col_time_nokey TIME ,col_datetime_key DATETIME ,col_datetime_nokey DATETIME ,col_varchar_key VARCHAR(1) ,col_varchar_nokey VARCHAR(1) ,PRIMARY KEY (pk),KEY (col_int_key),KEY (col_date_key),KEY (col_time_key),KEY (col_datetime_key),KEY (col_varchar_key, col_int_key)) ENGINE=INNODB;
INSERT IGNORE INTO b ( col_int_key, col_int_nokey,col_date_key, col_date_nokey,col_time_key, col_time_nokey,col_datetime_key, col_datetime_nokey,col_varchar_key,col_varchar_nokey) VALUES (7, 1, '1900-01-01', '1900-01-01', NULL, NULL, '2001-11-04 19:07:55.051133', '2001-11-04 19:07:55.051133', 'x', 'x');
DROP TABLE IF EXISTS c;
CREATE TABLE c (pk INTEGER AUTO_INCREMENT,col_int_nokey INTEGER ,col_int_key INTEGER ,col_date_key DATE ,col_date_nokey DATE ,col_time_key TIME ,col_time_nokey TIME ,col_datetime_key DATETIME ,col_datetime_nokey DATETIME , col_varchar_key VARCHAR(1) ,col_varchar_nokey VARCHAR(1) ,PRIMARY KEY (pk),KEY (col_int_key),KEY (col_date_key),KEY (col_time_key),KEY (col_datetime_key),KEY (col_varchar_key, col_int_key)) ENGINE=INNODB;
INSERT IGNORE INTO c ( col_int_key, col_int_nokey,col_date_key, col_date_nokey,col_time_key, col_time_nokey,col_datetime_key, col_datetime_nokey,col_varchar_key,col_varchar_nokey) VALUES (4, 2, '2008-12-05', '2008-12-05', '22:34:09.023306', '22:34:09.023306', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'v', 'v'),(62, 150, '2005-03-27', '2005-03-27', '14:26:02.007788', '14:26:02.007788', '2008-01-03 10:33:32.027981', '2008-01-03 10:33:32.027981', 'v', 'v'),(7, NULL, '2004-04-09', '2004-04-09', '14:03:03.042673', '14:03:03.042673', '2001-11-28 00:50:27.051028', '2001-11-28 00:50:27.051028', 'c', 'c'),(1, 2, '2006-05-13', '2006-05-13', '01:46:09.016386', '01:46:09.016386', '2007-10-09 19:53:04.008332', '2007-10-09 19:53:04.008332', NULL, NULL),(0, 5, '2001-05-06', '2001-05-06', '16:21:18.052408', '16:21:18.052408', '2001-11-08 21:02:12.009395', '2001-11-08 21:02:12.009395', 'x', 'x'),(7, 3, '2006-03-03', '2006-03-03', '18:56:33.027423', '18:56:33.027423', '2003-04-01 00:00:00', '2003-04-01 00:00:00', 'i', 'i'),(7, 1, '2007-12-28', '2007-12-28', NULL, NULL, '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'e', 'e'),(1, 4, '2004-10-20', '2004-10-20', '09:29:08.048031', '09:29:08.048031', '2007-07-12 00:00:00', '2007-07-12 00:00:00', 'p', 'p'),(7, NULL, '2008-04-09', '2008-04-09', '19:11:10.040728', '19:11:10.040728', '2005-04-04 01:21:01.040391', '2005-04-04 01:21:01.040391', 's', 's'),(1, 2, '2005-12-25', '2005-12-25', '11:57:26.013363', '11:57:26.013363', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'j', 'j'),(5, 6, '1900-01-01', '1900-01-01', '00:39:46.041355', '00:39:46.041355', '2003-03-05 03:41:18.061978', '2003-03-05 03:41:18.061978', 'z', 'z'),(2, 6, NULL, NULL, '03:28:15.007081', '03:28:15.007081', '2008-08-03 11:33:04.049998', '2008-08-03 11:33:04.049998', 'c', 'c'),(0, 8, '1900-01-01', '1900-01-01', '06:44:18.007092', '06:44:18.007092', '2004-04-28 21:44:45.050791', '2004-04-28 21:44:45.050791', 'a', 'a'),(1, 2, '2001-01-16', '2001-01-16', '14:36:39.062494', '14:36:39.062494', '2001-04-06 00:00:00', '2001-04-06 00:00:00', 'q', 'q'),(8, 6, '1900-01-01', '1900-01-01', '18:42:45.053707', '18:42:45.053707', '2001-04-18 00:00:00', '2001-04-18 00:00:00', 'y', 'y'),(1, 8, '2001-11-23', '2001-11-23', '02:57:29.012755', '02:57:29.012755', '2008-12-18 19:39:55.005399', '2008-12-18 19:39:55.005399', NULL, NULL),(1, 3, '2004-11-04', '2004-11-04', '16:46:13.015460', '16:46:13.015460', '2000-08-01 12:19:39.028493', '2000-08-01 12:19:39.028493', 'r', 'r'),(9, 3, '2003-03-12', '2003-03-12', '19:39:02.040624', '19:39:02.040624', '2004-09-25 21:29:06.004058', '2004-09-25 21:29:06.004058', 'v', 'v'),(1, 9, '2002-06-22', '2002-06-22', NULL, NULL, '2009-09-20 09:11:48.065041', '2009-09-20 09:11:48.065041', NULL, NULL),(5, 6, '2004-10-10', '2004-10-10', '20:58:33.049572', '20:58:33.049572', '2004-03-27 09:32:04.056959', '2004-03-27 09:32:04.056959', 'r', 'r');
DROP TABLE IF EXISTS d;
CREATE TABLE d (pk INTEGER AUTO_INCREMENT,col_int_nokey INTEGER ,col_int_key INTEGER , col_date_key DATE ,col_date_nokey DATE ,col_time_key TIME ,col_time_nokey TIME , col_datetime_key DATETIME ,col_datetime_nokey DATETIME ,col_varchar_key VARCHAR(1) ,col_varchar_nokey VARCHAR(1) ,PRIMARY KEY (pk),KEY (col_int_key),KEY (col_date_key),KEY (col_time_key), KEY (col_datetime_key),KEY (col_varchar_key, col_int_key)) ENGINE=INNODB;
INSERT IGNORE INTO d ( col_int_key, col_int_nokey,col_date_key, col_date_nokey,col_time_key, col_time_nokey,col_datetime_key, col_datetime_nokey,col_varchar_key,col_varchar_nokey) VALUES (4, 8, '2002-01-03', '2002-01-03', '01:01:02.033918', '01:01:02.033918', NULL, NULL, 'c', 'c'),(5, 3, '2007-07-08', '2007-07-08', '03:22:30.013692', '03:22:30.013692', '2003-11-06 04:59:50.060815', '2003-11-06 04:59:50.060815', 'c', 'c'),(8, 3, '2000-08-02', '2000-08-02', '18:30:05.036576', '18:30:05.036576', '2007-08-13 00:00:00', '2007-08-13 00:00:00', 'q', 'q'),(4, NULL, '2000-03-06', '2000-03-06', '07:30:51.053695', '07:30:51.053695', '2007-07-23 22:15:05.039929', '2007-07-23 22:15:05.039929', 'g', 'g'),(8, 7, '2002-06-05', '2002-06-05', NULL, NULL, '2009-01-24 15:15:41.015816', '2009-01-24 15:15:41.015816', 'e', 'e'),(2, 4, '2009-08-09', '2009-08-09', '00:00:00', '00:00:00', '2004-04-25 15:55:43.024669', '2004-04-25 15:55:43.024669', 'l', 'l'),(9, 7, '2001-03-22', '2001-03-22', '02:43:46.044368', '02:43:46.044368', '2006-05-21 00:00:00', '2006-05-21 00:00:00', NULL, NULL),(6, 7, '2002-10-08', '2002-10-08', '23:08:56.006835', '23:08:56.006835', '2007-11-19 18:59:17.041110', '2007-11-19 18:59:17.041110', 'v', 'v'),(NULL, 8, NULL, NULL, '21:14:43.049256', '21:14:43.049256', '2004-10-11 00:00:00', '2004-10-11 00:00:00', 'c', 'c'),(NULL, 6, '2007-09-13', '2007-09-13', '10:37:15.026137', '10:37:15.026137', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'u', 'u'),(48, 3, '2003-12-08', '2003-12-08', '00:50:58.018981', '00:50:58.018981', '2003-11-22 00:42:24.007216', '2003-11-22 00:42:24.007216', 'x', 'x'),(228, 210, '2006-06-01', '2006-06-01', '15:11:05.037254', '15:11:05.037254', '2009-05-06 15:57:54.046100', '2009-05-06 15:57:54.046100', 'x', 'x'),(3, 1, '2001-10-04', '2001-10-04', '17:56:53.016427', '17:56:53.016427', '2000-12-26 00:33:56.056159', '2000-12-26 00:33:56.056159', 'x', 'x'),(5, 2, '2004-11-16', '2004-11-16', '01:40:28.015719', '01:40:28.015719', '2002-03-12 00:00:00', '2002-03-12 00:00:00', 'l', 'l'),(39, 251, NULL, NULL, '01:21:50.043186', '01:21:50.043186', '2005-06-12 11:13:17.034994', '2005-06-12 11:13:17.034994', 'e', 'e'),(6, 4, '2005-06-22', '2005-06-22', '21:17:36.004741', '21:17:36.004741', '2009-06-10 00:00:00', '2009-06-10 00:00:00', 's', 's'),(8, 4, '2003-04-19', '2003-04-19', '09:16:37.022128', '09:16:37.022128', '2002-04-07 00:00:00', '2002-04-07 00:00:00', 'k', 'k'),(3, 9, '2006-03-23', '2006-03-23', '16:41:37.000305', '16:41:37.000305', '2002-08-01 01:33:30.032947', '2002-08-01 01:33:30.032947', 'm', 'm'),(NULL, 4, NULL, NULL, '03:13:46.009571', '03:13:46.009571', '2003-04-05 11:02:01.035782', '2003-04-05 11:02:01.035782', 'x', 'x'),(2, NULL, '2008-10-22', '2008-10-22', '17:27:08.029558', '17:27:08.029558', '2003-10-25 12:46:30.035123', '2003-10-25 12:46:30.035123', 's', 's'),(6, 4, '2009-04-04', '2009-04-04', '19:27:17.002465', '19:27:17.002465', '2007-08-10 00:00:00', '2007-08-10 00:00:00', 'h', 'h'),(3, NULL, NULL, NULL, '00:51:44.035596', '00:51:44.035596', '2002-07-12 19:18:28.007325', '2002-07-12 19:18:28.007325', 'u', 'u'),(1, 1, '2001-07-15', '2001-07-15', '10:57:22.061270', '10:57:22.061270', '2004-06-24 00:00:00', '2004-06-24 00:00:00', 'x', 'x'),(4, 6, '2004-09-25', '2004-09-25', '13:28:27.053467', '13:28:27.053467', '2009-06-10 09:54:42.024934', '2009-06-10 09:54:42.024934', 'l', 'l'),(3, 2, '2001-02-20', '2001-02-20', '06:40:59.047885', '06:40:59.047885', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'p', 'p'),(1, NULL, '1900-01-01', '1900-01-01', '22:56:45.062451', '22:56:45.062451', '2002-03-09 11:26:35.022784', '2002-03-09 11:26:35.022784', 'i', 'i'),(NULL, 4, '2004-08-02', '2004-08-02', '12:51:42.058226', '12:51:42.058226', '2004-02-22 21:45:20.001412', '2004-02-22 21:45:20.001412', 'u', 'u'),(97, 248, '2009-02-26', '2009-02-26', '01:52:32.022616', '01:52:32.022616', NULL, NULL, 'i', 'i'),(0, 4, '2002-11-23', '2002-11-23', '20:42:07.019441', '20:42:07.019441', '2000-08-12 00:00:00', '2000-08-12 00:00:00', 'i', 'i'),(0, 8, '2008-12-17', '2008-12-17', '12:53:30.021802', '12:53:30.021802', '200
DROP TABLE IF EXISTS E;
CREATE TABLE e (pk INTEGER AUTO_INCREMENT,col_int_nokey INTEGER ,col_int_key INTEGER , col_date_key DATE ,col_date_nokey DATE ,col_time_key TIME ,col_time_nokey TIME , col_datetime_key DATETIME ,col_datetime_nokey DATETIME ,col_varchar_key VARCHAR(1) ,col_varchar_nokey VARCHAR(1) ,PRIMARY KEY (pk),KEY (col_int_key),KEY (col_date_key),KEY (col_time_key),KEY (col_datetime_key),KEY (col_varchar_key, col_int_key)) ENGINE=INNODB;
INSERT IGNORE INTO e ( col_int_key, col_int_nokey,col_date_key, col_date_nokey,col_time_key, col_time_nokey,col_datetime_key, col_datetime_nokey,col_varchar_key,col_varchar_nokey) VALUES (7, 9, '2005-07-23', '2005-07-23', '15:01:53.007896', '15:01:53.007896', '2004-05-13 01:01:39.020951', '2004-05-13 01:01:39.020951', 't', 't'),(4, 2, '2009-11-01', '2009-11-01', '15:44:41.053734', '15:44:41.053734', '2003-12-24 07:39:29.020532', '2003-12-24 07:39:29.020532', 'h', 'h'),(9, 6, NULL, NULL, NULL, NULL, '2008-07-03 05:32:22.042740', '2008-07-03 05:32:22.042740', 'l', 'l'),(0, 6, '2007-07-16', '2007-07-16', '13:32:31.059995', '13:32:31.059995', '2008-08-28 18:46:11.030956', '2008-08-28 18:46:11.030956', 'j', 'j'),(3, 5, NULL, NULL, '19:08:59.062416', '19:08:59.062416', '2001-07-12 21:27:00.024781', '2001-07-12 21:27:00.024781', 'h', 'h'),(8, 3, '2007-07-22', '2007-07-22', '13:06:13.033877', '13:06:13.033877', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'p', 'p'),(9, 2, '2000-11-21', '2000-11-21', NULL, NULL, '2007-05-25 11:58:54.015689', '2007-05-25 11:58:54.015689', 'g', 'g'),(9, 6, '1900-01-01', '1900-01-01', '00:00:00', '00:00:00', '2009-06-03 17:11:10.011464', '2009-06-03 17:11:10.011464', 'i', 'i'),(4, 2, '2008-02-10', '2008-02-10', '23:02:06.047880', '23:02:06.047880', '2001-06-15 16:20:07.027178', '2001-06-15 16:20:07.027178', 'p', 'p'),(7, 3, '2009-06-04', '2009-06-04', '08:05:21.035383', '08:05:21.035383', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'h', 'h'),(1, 9, '2007-04-25', '2007-04-25', '20:26:40.010634', '20:26:40.010634', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'e', 'e'),(8, 9, '2006-03-02', '2006-03-02', '12:47:47.026796', '12:47:47.026796', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'e', 'e'),(6, 1, '1900-01-01', '1900-01-01', NULL, NULL, '2002-11-08 09:33:27.034302', '2002-11-08 09:33:27.034302', 'u', 'u'),(6, 7, '2008-07-13', '2008-07-13', '00:00:00', '00:00:00', '2007-08-07 17:35:52.017101', '2007-08-07 17:35:52.017101', 'j', 'j'),(6, 0, '2004-11-12', '2004-11-12', '20:58:23.064148', '20:58:23.064148', '2006-05-01 00:00:00', '2006-05-01 00:00:00', 'e', 'e'),(1, 0, '1900-01-01', '1900-01-01', '00:00:00', '00:00:00', '2003-05-01 00:00:00', '2003-05-01 00:00:00', 'z', 'z'),(227, 112, '2009-09-02', '2009-09-02', '07:43:46.015324', '07:43:46.015324', '2007-02-12 09:30:49.063767', '2007-02-12 09:30:49.063767', 'w', 'w'),(NULL, 0, '2004-11-06', '2004-11-06', '21:16:35.040813', '21:16:35.040813', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 't', 't'),(9, 4, '2003-01-06', '2003-01-06', '15:54:47.061688', '15:54:47.061688', '2002-07-03 02:51:11.057287', '2002-07-03 02:51:11.057287', 'i', 'i'),(1, 6, '2006-01-14', '2006-01-14', '20:29:36.026082', '20:29:36.026082', '2008-02-26 04:57:32.018208', '2008-02-26 04:57:32.018208', 'i', 'i'),(8, 0, '2002-01-19', '2002-01-19', '05:18:40.006865', '05:18:40.006865', '2009-02-12 00:00:00', '2009-02-12 00:00:00', 'i', 'i'),(5, 8, '2007-02-12', '2007-02-12', NULL, NULL, '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'b', 'b'),(8, 4, '1900-01-01', '1900-01-01', '00:44:45.033511', '00:44:45.033511', '2001-05-16 05:28:40.005808', '2001-05-16 05:28:40.005808', 'm', 'm'),(7, 2, '2005-07-16', '2005-07-16', '23:16:07.026979', '23:16:07.026979', NULL, NULL, 'j', 'j'),(2, 1, '2004-09-04', '2004-09-04', '02:05:51.032461', '02:05:51.032461', '2001-01-24 21:45:18.038169', '2001-01-24 21:45:18.038169', 'v', 'v'),(4, 3, '2009-07-01', '2009-07-01', '13:34:23.036481', '13:34:23.036481', NULL, NULL, NULL, NULL),(3, 2, '2009-07-21', '2009-07-21', '07:04:18.014012', '07:04:18.014012', '2002-07-24 00:00:00', '2002-07-24 00:00:00', 'h', 'h'),(1, 4, NULL, NULL, '16:19:19.003601', '16:19:19.003601', '2001-11-03 12:22:30.004586', '2001-11-03 12:22:30.004586', 'q', 'q'),(140, 144, '2002-06-22', '2002-06-22', '15:14:52.048461', '15:14:52.048461', '2008-06-17 03:17:59.000622', '2008-06-17 03:17:59.000622', 'f', 'f'),(0, 7, '2005-06-23', '2005-06-23', '23:33:23.054970', '23:33:23.054970', '2005-12-24 00:00:00', '2005-12-24 00:00:00', 'p', 'p'),(6, 6, '2001-05-20', '2001-05-20', NULL, NULL, '
INSERT IGNORE INTO e (col_int_key, col_int_nokey,col_date_key, col_date_nokey,col_time_key, col_time_nokey,col_datetime_key, col_datetime_nokey,col_varchar_key,col_varchar_nokey) VALUES (NULL, NULL, '2003-04-07', '2003-04-07', '11:35:28.045661', '11:35:28.045661', '2003-03-10 08:32:27.002582', '2003-03-10 08:32:27.002582', 'c', 'c'),(41, NULL, '2005-09-16', '2005-09-16', '15:48:10.027855', '15:48:10.027855', '2001-12-01 12:30:18.029401', '2001-12-01 12:30:18.029401', 'n', 'n'),(NULL, 2, '2007-11-20', '2007-11-20', '17:00:59.028030', '17:00:59.028030', '2001-06-25 00:00:00', '2001-06-25 00:00:00', 'p', 'p'),(1, NULL, '2009-05-06', '2009-05-06', '03:37:51.063952', '03:37:51.063952', '2000-12-19 22:33:52.062768', '2000-12-19 22:33:52.062768', 'e', 'e'),(243, 140, '2008-02-20', '2008-02-20', '12:38:17.040726', '12:38:17.040726', '2007-03-24 21:20:40.006127', '2007-03-24 21:20:40.006127', 'i', 'i'),(210, 117, '2009-03-22', '2009-03-22', '01:25:56.010118', '01:25:56.010118', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'x', 'x'),(6, 3, '2002-01-08', '2002-01-08', '03:11:55.020845', '03:11:55.020845', '2004-10-20 00:00:00', '2004-10-20 00:00:00', 'j', 'j'),(8, 7, '2002-10-28', '2002-10-28', '09:28:14.034846', '09:28:14.034846', '2004-11-01 00:00:00', '2004-11-01 00:00:00', 'f', 'f'),(8, 1, '2002-12-01', '2002-12-01', '21:46:15.028457', '21:46:15.028457', '2009-05-25 13:59:10.015856', '2009-05-25 13:59:10.015856', 'h', 'h'),(1, NULL, NULL, NULL, '11:39:31.035699', '11:39:31.035699', '2007-01-18 00:00:00', '2007-01-18 00:00:00', 'b', 'b'),(7, 2, '2003-02-19', '2003-02-19', NULL, NULL, '2003-05-08 11:59:38.037113', '2003-05-08 11:59:38.037113', NULL, NULL),(6, 0, '2008-10-11', '2008-10-11', '20:47:22.029194', '20:47:22.029194', '2004-02-16 22:59:29.007792', '2004-02-16 22:59:29.007792', 'x', 'x'),(8, 1, '2009-10-16', '2009-10-16', '20:50:53.006491', '20:50:53.006491', '2008-02-26 00:00:00', '2008-02-26 00:00:00', 'b', 'b'),(9, 7, '1900-01-01', '1900-01-01', '08:37:33.010965', '08:37:33.010965', '2006-10-03 17:55:00.051919', '2006-10-03 17:55:00.051919', 'r', 'r'),(4, 6, '2009-02-28', '2009-02-28', '23:46:16.059378', '23:46:16.059378', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'o', 'o'),(9, 4, '2006-12-13', '2006-12-13', '00:00:00', '00:00:00', '2002-02-07 10:31:03.064620', '2002-02-07 10:31:03.064620', 'h', 'h'),(NULL, 1, '2001-08-23', '2001-08-23', '06:15:57.040369', '06:15:57.040369', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'y', 'y'),(9, 0, '2009-07-21', '2009-07-21', '10:09:02.053342', '10:09:02.053342', '2002-06-12 19:53:09.057868', '2002-06-12 19:53:09.057868', 'm', 'm'),(2, 8, '2009-09-14', '2009-09-14', '23:09:10.023898', '23:09:10.023898', '2005-07-08 02:39:04.042286', '2005-07-08 02:39:04.042286', 'r', 'r'),(9, 1, '2002-06-22', '2002-06-22', '15:51:45.005252', '15:51:45.005252', '2008-12-10 00:00:00', '2008-12-10 00:00:00', 'v', 'v'),(9, 4, '2006-10-14', '2006-10-14', '20:36:56.015807', '20:36:56.015807', NULL, NULL, NULL, NULL),(2, 0, '2004-03-22', '2004-03-22', '22:21:30.052427', '22:21:30.052427', '2005-12-09 11:03:19.022933', '2005-12-09 11:03:19.022933', NULL, NULL),(2, 7, NULL, NULL, '00:11:31.050819', '00:11:31.050819', '2003-02-01 11:00:07.011299', '2003-02-01 11:00:07.011299', 't', 't'),(2, 7, '2001-08-18', '2001-08-18', '11:16:01.053212', '11:16:01.053212', '2004-09-23 22:13:40.011910', '2004-09-23 22:13:40.011910', 'k', 'k'),(7, 2, NULL, NULL, '00:00:00', '00:00:00', '2001-05-26 00:00:00', '2001-05-26 00:00:00', NULL, NULL),(4, 6, '1900-01-01', '1900-01-01', '00:00:00', '00:00:00', '2003-07-02 00:00:00', '2003-07-02 00:00:00', NULL, NULL),(4, 7, '2000-11-26', '2000-11-26', NULL, NULL, '2007-04-18 06:34:56.064774', '2007-04-18 06:34:56.064774', 'z', 'z'),(2, 2, '2003-10-18', '2003-10-18', NULL, NULL, '2008-12-27 01:56:27.036817', '2008-12-27 01:56:27.036817', 'a', 'a'),(7, 7, '2001-05-16', '2001-05-16', '21:20:31.043620', '21:20:31.043620', '2000-05-21 01:01:53.023204', '2000-05-21 01:01:53.023204', NULL, NULL),(0, 2, '2009-06-21', '2009-06-21', '21:55:51.037686', '21:55:51.037686', '2008-07-25 00:0
DROP TABLE IF EXISTS aa;
CREATE TABLE aa (pk INTEGER AUTO_INCREMENT,col_int_nokey INTEGER ,col_int_key INTEGER , col_date_key DATE ,col_date_nokey DATE ,col_time_key TIME ,col_time_nokey TIME , col_datetime_key DATETIME ,col_datetime_nokey DATETIME ,col_varchar_key VARCHAR(1) ,col_varchar_nokey VARCHAR(1) ,PRIMARY KEY (pk),KEY (col_int_key),KEY (col_date_key),KEY (col_time_key),KEY (col_datetime_key),KEY (col_varchar_key, col_int_key)) AUTO_INCREMENT=10 ENGINE=INNODB;
DROP TABLE IF EXISTS bb;
CREATE TABLE bb (pk INTEGER AUTO_INCREMENT,col_int_nokey INTEGER ,col_int_key INTEGER , col_date_key DATE ,col_date_nokey DATE ,col_time_key TIME ,col_time_nokey TIME , col_datetime_key DATETIME ,col_datetime_nokey DATETIME ,col_varchar_key VARCHAR(1) ,col_varchar_nokey VARCHAR(1) ,PRIMARY KEY (pk),KEY (col_int_key),KEY (col_date_key), KEY (col_time_key),KEY (col_datetime_key),KEY (col_varchar_key, col_int_key)) AUTO_INCREMENT=10 ENGINE=INNODB;
INSERT IGNORE INTO bb (col_int_key, col_int_nokey,col_date_key, col_date_nokey,col_time_key, col_time_nokey,col_datetime_key, col_datetime_nokey,col_varchar_key,col_varchar_nokey) VALUES (8, 7, '2008-10-02', '2008-10-02', '04:07:22.028954', '04:07:22.028954', '2001-10-08 00:00:00', '2001-10-08 00:00:00', 'g', 'g');
DROP TABLE IF EXISTS CC;
CREATE TABLE cc (pk INTEGER AUTO_INCREMENT,col_int_nokey INTEGER ,col_int_key INTEGER , col_date_key DATE ,col_date_nokey DATE ,col_time_key TIME ,col_time_nokey TIME , col_datetime_key DATETIME ,col_datetime_nokey DATETIME ,col_varchar_key VARCHAR(1) ,col_varchar_nokey VARCHAR(1) ,PRIMARY KEY (pk),KEY (col_int_key),KEY (col_date_key),KEY (col_time_key),KEY (col_datetime_key),KEY (col_varchar_key, col_int_key)) AUTO_INCREMENT=10 ENGINE=INNODB;
INSERT IGNORE INTO cc (col_int_key, col_int_nokey,col_date_key, col_date_nokey,col_time_key, col_time_nokey,col_datetime_key, col_datetime_nokey,col_varchar_key,col_varchar_nokey) VALUES (8, NULL, '2000-12-03', '2000-12-03', '22:55:23.019225', '22:55:23.019225', '2005-07-20 00:00:00', '2005-07-20 00:00:00', 'x', 'x'),(7, 8, '2008-05-03', '2008-05-03', '10:19:31.050677', '10:19:31.050677', '2007-10-06 17:56:40.056051', '2007-10-06 17:56:40.056051', 'd', 'd'),(1, 1, '2005-12-06', '2005-12-06', '14:40:36.038608', '14:40:36.038608', NULL, NULL, 'r', 'r'),(7, 9, '2000-04-10', '2000-04-10', '04:37:47.062416', '04:37:47.062416', '2007-12-23 05:17:49.029955', '2007-12-23 05:17:49.029955', 'f', 'f'),(9, 4, '2002-11-05', '2002-11-05', '19:34:06.054514', '19:34:06.054514', NULL, NULL, 'y', 'y'),(NULL, 3, '2000-09-06', '2000-09-06', '20:35:33.022996', '20:35:33.022996', '2000-08-16 00:00:00', '2000-08-16 00:00:00', 'u', 'u'),(1, 2, NULL, NULL, NULL, NULL, NULL, NULL, 'm', 'm'),(9, NULL, '2007-06-14', '2007-06-14', '14:43:37.057393', '14:43:37.057393', '2003-02-07 09:50:39.001189', '2003-02-07 09:50:39.001189', NULL, NULL),(2, 2, '2007-11-17', '2007-11-17', '02:23:09.043438', '02:23:09.043438', '2003-08-04 23:00:25.012582', '2003-08-04 23:00:25.012582', 'o', 'o'),(9, NULL, '2009-02-23', '2009-02-23', '01:22:45.041064', '01:22:45.041064', '2009-08-07 12:57:18.026416', '2009-08-07 12:57:18.026416', 'w', 'w'),(2, 6, '2007-01-08', '2007-01-08', '00:00:00', '00:00:00', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'm', 'm'),(4, 7, '2008-06-10', '2008-06-10', '00:13:25.038482', '00:13:25.038482', '2001-06-17 01:34:03.065074', '2001-06-17 01:34:03.065074', 'q', 'q'),(0, 2, '2002-10-20', '2002-10-20', '03:47:16.042671', '03:47:16.042671', NULL, NULL, NULL, NULL),(4, 5, '2008-09-12', '2008-09-12', '01:41:48.007423', '01:41:48.007423', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'd', 'd'),(8, 7, '2006-06-16', '2006-06-16', '00:00:00', '00:00:00', NULL, NULL, 'g', 'g'),(NULL, 6, '2004-09-18', '2004-09-18', '22:32:04.047407', '22:32:04.047407', '2007-08-22 14:10:22.054447', '2007-08-22 14:10:22.054447', 'x', 'x'),(NULL, 6, '1900-01-01', '1900-01-01', '16:44:14.028443', '16:44:14.028443', '2005-01-07 12:15:05.055865', '2005-01-07 12:15:05.055865', 'f', 'f'),(0, 2, '2005-09-13', '2005-09-13', '17:38:37.059754', '17:38:37.059754', '2008-07-18 00:00:00', '2008-07-18 00:00:00', 'p', 'p'),(NULL, 9, '2007-04-09', '2007-04-09', '08:46:48.042388', '08:46:48.042388', '2005-03-24 07:33:11.043368', '2005-03-24 07:33:11.043368', 'j', 'j'),(8, 6, '2000-09-20', '2000-09-20', '14:11:27.044095', '14:11:27.044095', '2003-06-13 23:19:49.018300', '2003-06-13 23:19:49.018300', 'c', 'c');
DROP TABLE IF EXISTS dd;
CREATE TABLE dd (pk INTEGER AUTO_INCREMENT,col_int_nokey INTEGER ,col_int_key INTEGER , col_date_key DATE ,col_date_nokey DATE ,col_time_key TIME ,col_time_nokey TIME , col_datetime_key DATETIME ,col_datetime_nokey DATETIME ,col_varchar_key VARCHAR(1) ,col_varchar_nokey VARCHAR(1) ,PRIMARY KEY (pk),KEY (col_int_key),KEY (col_date_key),KEY (col_time_key),KEY (col_datetime_key),KEY (col_varchar_key, col_int_key)) AUTO_INCREMENT=10 ENGINE=INNODB;
INSERT IGNORE INTO dd (col_int_key, col_int_nokey,col_date_key, col_date_nokey,col_time_key, col_time_nokey,col_datetime_key, col_datetime_nokey,col_varchar_key,col_varchar_nokey) VALUES (8, 0, '1900-01-01', '1900-01-01', '07:55:54.051037', '07:55:54.051037', '2008-11-09 06:28:05.052151', '2008-11-09 06:28:05.052151', 'z', 'z'),(6, 3, NULL, NULL, '14:18:47.011111', '14:18:47.011111', '2009-02-11 10:59:50.050473', '2009-02-11 10:59:50.050473', 'j', 'j'),(2, 8, '2009-09-06', '2009-09-06', '00:00:00', '00:00:00', '2000-02-23 00:39:41.005498', '2000-02-23 00:39:41.005498', NULL, NULL),(3, 8, '2008-08-23', '2008-08-23', '01:57:54.037299', '01:57:54.037299', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'p', 'p'),(1, 6, '2009-03-24', '2009-03-24', '21:24:27.027297', '21:24:27.027297', '2009-07-03 13:47:15.010810', '2009-07-03 13:47:15.010810', 'w', 'w'),(NULL, 0, '2009-11-15', '2009-11-15', NULL, NULL, '2001-04-11 12:39:06.038205', '2001-04-11 12:39:06.038205', 'c', 'c'),(1, NULL, '2001-12-23', '2001-12-23', '21:34:24.023001', '21:34:24.023001', '2007-01-26 15:51:38.027592', '2007-01-26 15:51:38.027592', 'j', 'j'),(10, 158, '2007-02-11', '2007-02-11', '18:11:35.006542', '18:11:35.006542', '2003-04-27 19:48:50.025877', '2003-04-27 19:48:50.025877', 'f', 'f'),(2, 5, '2005-04-16', '2005-04-16', '09:21:51.027414', '09:21:51.027414', '2001-11-15 10:51:46.055784', '2001-11-15 10:51:46.055784', 'v', 'v'),(103, 163, '2007-05-12', '2007-05-12', '09:02:21.047274', '09:02:21.047274', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'f', 'f'),(3, 2, '2000-07-20', '2000-07-20', '22:40:03.005755', '22:40:03.005755', '2000-10-20 17:09:41.008405', '2000-10-20 17:09:41.008405', 'q', 'q'),(6, 8, '2008-08-14', '2008-08-14', '19:29:48.025140', '19:29:48.025140', '2005-10-03 00:00:00', '2005-10-03 00:00:00', 'y', 'y'),(2, 0, '2004-08-04', '2004-08-04', NULL, NULL, '2008-03-06 19:40:18.015845', '2008-03-06 19:40:18.015845', 'a', 'a'),(7, 9, '2002-06-25', '2002-06-25', '01:39:40.022975', '01:39:40.022975', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'w', 'w'),(2, 3, '2004-04-08', '2004-04-08', '18:14:11.006811', '18:14:11.006811', '2004-03-03 15:06:11.026757', '2004-03-03 15:06:11.026757', 'e', 'e'),(2, 1, '2004-12-20', '2004-12-20', '03:28:55.038579', '03:28:55.038579', '2009-06-03 03:14:33.011355', '2009-06-03 03:14:33.011355', NULL, NULL),(4, 9, '2009-07-09', '2009-07-09', '15:00:03.027372', '15:00:03.027372', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'r', 'r'),(6, NULL, '1900-01-01', '1900-01-01', '17:10:27.024761', '17:10:27.024761', '2003-04-18 18:00:26.055211', '2003-04-18 18:00:26.055211', 'k', 'k'),(6, 5, '1900-01-01', '1900-01-01', '09:50:22.010984', '09:50:22.010984', '2005-10-20 00:00:00', '2005-10-20 00:00:00', 'c', 'c'),(8, 3, '2007-09-24', '2007-09-24', '00:00:00', '00:00:00', '2009-07-24 13:01:33.046163', '2009-07-24 13:01:33.046163', 'k', 'k'),(4, 9, '2000-05-07', '2000-05-07', '09:51:13.046778', '09:51:13.046778', '2005-04-14 03:38:00.008685', '2005-04-14 03:38:00.008685', NULL, NULL),(2, 8, '2002-07-15', '2002-07-15', '11:25:28.044423', '11:25:28.044423', NULL, NULL, 'j', 'j'),(8, 1, '2005-09-09', '2005-09-09', NULL, NULL, '2002-07-16 03:25:43.049611', '2002-07-16 03:25:43.049611', 't', 't'),(1, 8, '2006-05-08', '2006-05-08', '11:14:24.017155', '11:14:24.017155', '2005-12-12 08:27:15.009824', '2005-12-12 08:27:15.009824', 'n', 'n'),(NULL, NULL, '2004-02-05', '2004-02-05', '04:00:47.034077', '04:00:47.034077', '2001-11-25 18:24:30.022778', '2001-11-25 18:24:30.022778', 'z', 'z'),(3, 0, '2000-02-21', '2000-02-21', '21:22:12.046674', '21:22:12.046674', '2005-07-28 18:41:31.045474', '2005-07-28 18:41:31.045474', 'u', 'u'),(2, 3, '2006-05-10', '2006-05-10', '14:29:11.045056', '14:29:11.045056', '2003-09-25 22:51:04.037264', '2003-09-25 22:51:04.037264', 'a', 'a'),(NULL, 3, '2007-10-28', '2007-10-28', '16:23:38.048946', '16:23:38.048946', '1900-01-01 00:00:00', '1900-01-01 00:00:00', 'g', 'g'),(4, 1, '2007-05-01', '2007-05-01', '20:06:35.055965', '20:06:35.055965', '2005-01-11 07:21:24.021466', '2005-01-11 07:21:24.021466', 'f', 'f
DROP TABLE IF EXISTS dummy;
CREATE TABLE dummy (i INTEGER);
INSERT INTO dummy VALUES(0);
ANALYZE TABLE a,b,c,d,e,bb,cc,dd,dummy;
create view view_a as select * from a;
create view view_b as select * from b;
create view view_c as select * from c;
create view view_d as select * from d;
create view view_aa as select * from aa;
create view view_bb as select * from bb;
create view view_cc as select * from cc;
# Lots of bad queries:
--source include/turn_off_only_full_group_by.inc
let $query=SELECT DISTINCT alias2.col_time_key AS field1 , alias2.col_varchar_key AS field2 , alias2.col_varchar_key AS field3 , alias2.col_int_nokey AS field4 FROM ( c AS alias1 , ( view_a AS alias2 , c AS alias3 ) ) GROUP BY field1, field2, field3, field4 HAVING (field1 < 'w' OR field1 != 'ni') ORDER BY field3 ;
--source include/explain_for_connection.inc
let $query=SELECT alias1.col_int_key AS field1 , alias1.col_int_key AS field2 FROM ( ( SELECT sq1_alias1.* FROM c AS sq1_alias1 ) AS alias1 RIGHT OUTER JOIN ( SELECT sq2_alias1.* FROM ( bb AS sq2_alias1 STRAIGHT_JOIN c AS sq2_alias2 ON (sq2_alias2.pk = sq2_alias1.pk ) ) ) AS alias2 ON (alias2.pk = alias1.col_int_key ) ) WHERE NOT EXISTS ( (SELECT sq3_alias1.pk AS sq3_field1 FROM ( bb AS sq3_alias1 LEFT OUTER JOIN ( cc AS sq3_alias2 STRAIGHT_JOIN bb AS sq3_alias3 ON (sq3_alias3.pk = sq3_alias2.pk ) ) ON (sq3_alias3.col_int_key = sq3_alias2.col_int_key AND sq3_alias1.col_int_key > (SELECT COUNT( DISTINCT c_sq1_alias1.col_int_nokey ) AS c_sq1_field1 FROM d AS c_sq1_alias1 WHERE c_sq1_alias1.col_int_nokey != c_sq1_alias1.pk ) ) ) ) ) GROUP BY field1, field2 ORDER BY alias1.col_date_key DESC , field1, field2 ;
--source include/explain_for_connection.inc
let $query=SELECT DISTINCT SQL_SMALL_RESULT table2.col_date_key AS field1 FROM ( cc AS table1 INNER JOIN ( ( c AS table2 INNER JOIN bb AS table3 ON (table3.col_varchar_key = table2.col_varchar_key ) ) ) ON (table3.col_varchar_key = table2.col_varchar_key ) ) WHERE ( EXISTS ( (SELECT SQL_SMALL_RESULT subquery1_t2.col_varchar_nokey AS subquery1_field1 FROM ( bb AS subquery1_t1 INNER JOIN cc AS subquery1_t2 ON (subquery1_t2.col_varchar_key = subquery1_t1.col_varchar_nokey ) ) ) ) ) OR ( table1.col_varchar_key = 'q' AND table1.col_int_key = table2.col_int_key ) OR ( table2.col_varchar_key IN (SELECT 'a' FROM dummy UNION SELECT 'p' FROM dummy ) OR table1.col_varchar_key IS NULL ) ;
--source include/explain_for_connection.inc
let $query=SELECT table2.col_time_key AS field1 FROM ( ( SELECT subquery1_t1.* FROM ( c AS subquery1_t1 STRAIGHT_JOIN c AS subquery1_t2 ON (subquery1_t2.col_int_key = subquery1_t1.col_int_key ) ) WHERE subquery1_t1.pk <= 7 ) AS table1 LEFT OUTER JOIN ( ( ( SELECT subquery2_t1.* FROM b AS subquery2_t1 WHERE subquery2_t1.col_varchar_nokey <= 'l' ) AS table2 LEFT OUTER JOIN c AS table3 ON (table3.col_varchar_key = table2.col_varchar_key ) ) ) ON (table3.pk = table2.pk ) ) WHERE ( EXISTS ( (SELECT subquery3_t1.col_varchar_nokey AS subquery3_field1 FROM ( bb AS subquery3_t1 LEFT JOIN c AS subquery3_t2 ON (subquery3_t2.col_varchar_key = subquery3_t1.col_varchar_key ) ) ) ) ) OR table1.col_int_key = 62 AND ( table1.col_int_key = table1.pk AND table2.col_varchar_nokey = table1.col_varchar_nokey ) ORDER BY table1.col_varchar_key DESC /*+JavaDB:Postgres: NULLS LAST */ , CONCAT( table3.col_varchar_key, table1.col_varchar_nokey ) /*+JavaDB:Postgres: NULLS FIRST*/ , table1.col_date_key /*+JavaDB:Postgres: NULLS FIRST*/ , table3 .pk DESC /*+JavaDB:Postgres: NULLS LAST */;
--source include/explain_for_connection.inc
let $query=SELECT alias1.col_datetime_key AS field1 FROM ( view_cc AS alias1 , bb AS alias2 , cc AS alias3 ) WHERE alias2.pk < ALL (SELECT sq1_alias2.pk AS sq1_field1 FROM ( c AS sq1_alias1 , cc AS sq1_alias2 ) WHERE sq1_alias1.col_varchar_nokey != (SELECT COUNT( c_sq1_alias1.col_varchar_key ) AS c_sq1_field1 FROM ( cc AS c_sq1_alias1 RIGHT OUTER JOIN ( ( cc AS c_sq1_alias2 INNER JOIN b AS c_sq1_alias3 ON (c_sq1_alias3.col_varchar_nokey = c_sq1_alias2.col_varchar_key ) ) ) ON (c_sq1_alias3.pk = c_sq1_alias2.pk ) ) WHERE c_sq1_alias1.col_varchar_key < 'm' ) ) GROUP BY field1 HAVING ((field1 <= 'USA' OR field1 < 2) AND field1 <> 'd') ORDER BY alias1.col_time_key DESC , field1 LIMIT 10 OFFSET 208;
--source include/explain_for_connection.inc
let $query=SELECT DISTINCT SUM( DISTINCT alias1.col_int_nokey ) AS field1 , MAX( DISTINCT alias2.col_varchar_key ) AS field2 FROM ( c AS alias1 , c AS alias2 , cc AS alias3 ) WHERE alias2.col_int_key > (SELECT COUNT( sq1_alias1.col_int_key ) AS sq1_field1 FROM ( cc AS sq1_alias1 INNER JOIN view_c AS sq1_alias2 ON (sq1_alias2.col_varchar_key = sq1_alias1.col_varchar_nokey ) ) WHERE sq1_alias2.col_varchar_nokey < sq1_alias1.col_varchar_key ) HAVING (field1 > 'zc' AND field2 >= 'q') ORDER BY alias1.col_time_key ASC , field1, field2 LIMIT 2 /* */;
--source include/explain_for_connection.inc
let $query=SELECT alias2.col_datetime_key AS field1 , alias1.col_varchar_key AS field2 , alias1.col_varchar_nokey AS field3 , alias2.col_varchar_key AS field4 , alias2.pk AS field5 , alias2.col_date_key AS field6 , alias1.col_date_key AS field7 , alias1.col_int_key AS field8 FROM ( cc AS alias1 LEFT JOIN ( ( ( SELECT sq1_alias1.* FROM c AS sq1_alias1 ) AS alias2 INNER JOIN ( SELECT sq2_alias1.* FROM ( b AS sq2_alias1 , view_aa AS sq2_alias2 ) ) AS alias3 ON (alias3.col_varchar_nokey = alias2.col_varchar_key ) ) ) ON (alias3.col_int_key = alias2.col_int_key ) ) WHERE ( EXISTS ( (SELECT sq3_alias1.col_varchar_nokey AS sq3_field1 FROM ( c AS sq3_alias1 , bb AS sq3_alias2 ) ) ) ) OR ( alias1.col_int_key NOT IN (55, 229) OR alias1.col_int_key > 28 AND alias1.col_int_key < ( 28 + 73 ) ) AND alias1.col_int_key != alias2.pk HAVING field8 = 'v' ORDER BY field3 , field1, field2, field3, field4, field5, field6, field7, field8 ;
--source include/explain_for_connection.inc
let $query=SELECT alias1.col_datetime_key AS field1 , alias2.col_date_key AS field2 FROM ( c AS alias1 LEFT OUTER JOIN ( ( ( SELECT DISTINCT sq1_alias1.* FROM bb AS sq1_alias1 ) AS alias2 INNER JOIN c AS alias3 ON (alias3.col_int_key = alias2.col_int_key ) ) ) ON (alias3.pk = alias2.col_int_key ) ) WHERE ( EXISTS ( (SELECT 9 FROM DUAL ) ) ) OR alias1.col_varchar_key LIKE CONCAT( 'b' , '%') GROUP BY field1, field2 HAVING field2 != 6 ;
--source include/explain_for_connection.inc
let $query=SELECT STRAIGHT_JOIN table1.pk AS field1 , table2.col_int_key AS field2 , table1.col_int_nokey AS field3 , table2.col_varchar_key AS field4 FROM ( ( SELECT subquery1_t1.* FROM cc AS subquery1_t1 WHERE ( subquery1_t1.col_int_nokey = subquery1_t1.col_int_nokey AND EXISTS ( (SELECT child_subquery1_t2.pk AS child_subquery1_field1 FROM ( c AS child_subquery1_t1 RIGHT JOIN c AS child_subquery1_t2 ON (child_subquery1_t2.col_int_key = child_subquery1_t1.col_int_key ) ) WHERE child_subquery1_t2.col_int_key != 7 ) ) ) ) AS table1 INNER JOIN cc AS table2 ON (table2.col_varchar_nokey = table1.col_varchar_key ) ) WHERE ( table1.col_varchar_nokey >= ALL (SELECT SQL_SMALL_RESULT subquery2_t1.col_varchar_key AS subquery2_field1 FROM ( c AS subquery2_t1 INNER JOIN cc AS subquery2_t2 ON (subquery2_t2.pk = subquery2_t1.col_int_nokey ) ) ) ) OR table1.pk = 98 AND table2.col_varchar_key != 'q' ORDER BY CONCAT( table1.col_varchar_nokey, table1.col_varchar_nokey ) /*+JavaDB:Postgres: NULLS FIRST*/;
--source include/explain_for_connection.inc
let $query=SELECT alias1.col_int_key AS field1 , alias2.col_datetime_key AS field2 , alias1.col_varchar_nokey AS field3 , alias1.col_int_nokey AS field4 , alias1.col_int_key AS field5 FROM ( b AS alias1 , view_d AS alias2 ) WHERE alias1.col_varchar_nokey >= ANY (SELECT SQL_SMALL_RESULT sq1_alias1.col_varchar_key AS sq1_field1 FROM ( c AS sq1_alias1 INNER JOIN c AS sq1_alias2 ON (sq1_alias2.col_int_key = sq1_alias1.pk ) ) ) GROUP BY field1, field2, field3, field4, field5 ORDER BY alias1.col_date_key ASC , field1, field2, field3, field4, field5 ;
--source include/explain_for_connection.inc
let $query=SELECT CONCAT ( alias1.col_varchar_key , alias1.col_varchar_nokey ) AS field1 FROM ( cc AS alias1 , c AS alias2 , cc AS alias3 ) WHERE ( EXISTS ( (SELECT sq1_alias1.col_varchar_nokey AS sq1_field1 FROM ( c AS sq1_alias1 , cc AS sq1_alias2 ) ) ) ) AND alias1.col_varchar_key <= 'p' AND alias3.col_varchar_key > alias2.col_varchar_nokey GROUP BY field1 /* */;
--source include/explain_for_connection.inc
let $query=SELECT alias1.col_int_key AS field1 , alias1.col_date_key AS field2 , alias1.col_varchar_key AS field3 FROM ( c AS alias1 , d AS alias2 , cc AS alias3 ) WHERE ( EXISTS ( (SELECT sq1_alias1.col_varchar_key AS sq1_field1 FROM ( d AS sq1_alias1 LEFT JOIN d AS sq1_alias2 ON (sq1_alias2.col_varchar_key = sq1_alias1.col_varchar_key ) ) ) ) ) AND alias1.col_int_key = alias1.col_int_key AND alias1.col_int_key < alias3.col_int_key GROUP BY field1, field2, field3 HAVING field2 >= 'a' ;
--source include/explain_for_connection.inc
let $query=SELECT alias1.col_datetime_key AS field1 , alias2.col_int_key AS field2 FROM ( c AS alias1 , d AS alias2 , cc AS alias3 ) WHERE ( EXISTS ( (SELECT sq1_alias1.col_int_key AS sq1_field1 FROM bb AS sq1_alias1 WHERE sq1_alias1.pk < 8 ) ) ) OR alias1.col_int_key > alias3.col_int_key ORDER BY alias1.col_int_key ASC , field1, field2 LIMIT 2 /* */;
--source include/explain_for_connection.inc
let $query=SELECT alias1.col_int_key AS field1 , alias1.col_int_key AS field2 FROM ( ( SELECT sq1_alias1.* FROM d AS sq1_alias1 ) AS alias1 , d AS alias2 ) WHERE ( (SELECT MIN( sq2_alias1.pk ) AS sq2_field1 FROM ( view_c AS sq2_alias1 RIGHT JOIN c AS sq2_alias2 ON (sq2_alias2.col_varchar_nokey = sq2_alias1.col_varchar_key ) ) ) IS NOT NULL ) AND ( alias2.col_varchar_key <= 'z' OR EXISTS ( (SELECT sq3_alias1.col_int_nokey AS sq3_field1 FROM a AS sq3_alias1 ) ) ) GROUP BY field1, field2 HAVING field2 < 4 ORDER BY alias1.col_int_key ASC , field1, field2 ;
--source include/explain_for_connection.inc
let $query=SELECT STRAIGHT_JOIN alias1.col_int_key AS field1 FROM ( b AS alias1 , ( SELECT sq1_alias1.* FROM ( cc AS sq1_alias1 INNER JOIN ( c AS sq1_alias2 INNER JOIN c AS sq1_alias3 ON (sq1_alias3.pk = sq1_alias2.pk ) ) ON (sq1_alias3.col_varchar_key = sq1_alias2.col_varchar_key ) ) WHERE sq1_alias2.col_int_key >= ANY (SELECT c_sq1_alias1.col_int_key AS c_sq1_field1 FROM c AS c_sq1_alias1 GROUP BY c_sq1_field1 ) ) AS alias2 ) WHERE EXISTS ( (SELECT sq2_alias1.col_varchar_key AS sq2_field1 FROM c AS sq2_alias1 WHERE sq2_alias1.col_varchar_nokey < 'p' GROUP BY sq2_field1 ) ) GROUP BY field1 HAVING field1 <> 'o' ORDER BY field1 , alias1.col_time_key , alias2 .pk DESC, field1 ;
--source include/explain_for_connection.inc
let $query=SELECT CONCAT( table1.col_varchar_nokey , table1.col_varchar_nokey ) AS field1 FROM ( ( SELECT subquery1_t1.* FROM bb AS subquery1_t1 WHERE ( subquery1_t1.col_varchar_key != 'y' OR subquery1_t1.col_varchar_key <= 'd' ) ) AS table1 RIGHT OUTER JOIN ( ( c AS table2 STRAIGHT_JOIN bb AS table3 ON (table3.pk = table2.pk OR table2.col_varchar_key IN (SELECT subquery2_t2.col_varchar_key AS subquery2_field1 FROM ( c AS subquery2_t1 RIGHT OUTER JOIN c AS subquery2_t2 ON (subquery2_t2.col_int_nokey = subquery2_t1.col_int_key ) ) WHERE subquery2_t1.col_int_key >= (SELECT SUM( child_subquery1_t1.col_int_key ) AS child_subquery1_field1 FROM cc AS child_subquery1_t1 WHERE ( child_subquery1_t1.pk > child_subquery1_t1.pk OR child_subquery1_t1.col_int_nokey > 6 ) ) ) ) ) ) ON (table3.col_varchar_nokey = table2.col_varchar_key ) ) WHERE ( EXISTS ( (SELECT subquery3_t1.pk AS subquery3_field1 FROM ( bb AS subquery3_t1 INNER JOIN ( cc AS subquery3_t2 INNER JOIN c AS subquery3_t3 ON (subquery3_t3.col_varchar_key = subquery3_t2.col_varchar_key ) ) ON (subquery3_t3.pk = subquery3_t2.col_int_nokey ) ) ) ) ) AND ( table1.col_varchar_key < 'b' OR table1.col_int_key BETWEEN 253 AND ( 253 + 77 ) ) OR ( table2.col_varchar_nokey != 't' OR table2.col_varchar_nokey = table1.col_varchar_nokey ) ;
--source include/explain_for_connection.inc
let $query=SELECT DISTINCT col_int_nokey AS field1 , col_int_nokey AS field2 FROM a AS alias1 WHERE ( ( alias1.pk > 54 AND alias1.pk < ( 54 + 151 ) OR ( alias1.col_int_key IN (240) OR ( alias1.pk > 54 AND alias1.pk < ( 54 + 16 ) OR ( alias1.col_int_key BETWEEN 54 AND ( 54 + 125 ) OR alias1.pk > 54 AND alias1.pk < ( 54 + 147 ) ) ) ) ) OR alias1 .pk >= alias1.pk ) GROUP BY field1, field2;
--source include/explain_for_connection.inc
let $query=SELECT MAX( alias2.pk ) AS field1 , SUM( DISTINCT alias1.col_varchar_key ) AS field2 , (SELECT MAX( DISTINCT sq1_alias1.col_varchar_nokey ) AS sq1_field1 FROM a AS sq1_alias1 ) AS field3 FROM ( c AS alias1 , ( SELECT sq2_alias2.* FROM ( d AS sq2_alias1 LEFT OUTER JOIN c AS sq2_alias2 ON (sq2_alias2.col_int_key = sq2_alias1.col_int_nokey ) ) WHERE ( sq2_alias1.col_varchar_nokey = 'o' OR sq2_alias1.col_varchar_key <= 'd' ) ) AS alias2 , cc AS alias3 ) WHERE EXISTS ( (SELECT DISTINCT sq3_alias1.col_varchar_nokey AS sq3_field1 FROM ( b AS sq3_alias1 RIGHT JOIN bb AS sq3_alias2 ON (sq3_alias2.col_varchar_nokey = sq3_alias1.col_varchar_key ) ) ) ) GROUP BY field3 ORDER BY alias1.col_datetime_key , alias2 .pk , alias1.col_date_key , alias1 .pk ASC;
--source include/explain_for_connection.inc
let $query=SELECT col_int_nokey AS field1 FROM a AS table1 WHERE table1 .pk = table1.pk;
--source include/explain_for_connection.inc
let $query=SELECT alias1.col_time_key AS field1 , alias1.col_datetime_key AS field2 , alias1.col_int_key AS field3 FROM ( bb AS alias1 , ( SELECT sq1_alias1.* FROM ( cc AS sq1_alias1 INNER JOIN cc AS sq1_alias2 ON (sq1_alias2.col_varchar_key = sq1_alias1.col_varchar_nokey ) ) ) AS alias2 , ( SELECT sq2_alias1.* FROM b AS sq2_alias1 ) AS alias3 ) WHERE alias1.col_varchar_nokey <= ANY (SELECT sq3_alias1.col_varchar_nokey AS sq3_field1 FROM ( c AS sq3_alias1 INNER JOIN ( c AS sq3_alias2 INNER JOIN c AS sq3_alias3 ON (sq3_alias3.pk = sq3_alias2.col_int_key ) ) ON (sq3_alias3.col_varchar_nokey = sq3_alias2.col_varchar_key ) ) ) ;
--source include/explain_for_connection.inc
let $query=SELECT alias1.col_varchar_nokey AS field1 , alias1.col_varchar_key AS field2 , alias1.col_varchar_key AS field3 FROM ( b AS alias1 , c AS alias2 , b AS alias3 ) WHERE ( alias1.col_varchar_nokey >= ALL (SELECT DISTINCT sq1_alias1.col_varchar_key AS sq1_field1 FROM ( view_a AS sq1_alias1 LEFT OUTER JOIN c AS sq1_alias2 ON (sq1_alias2.col_varchar_key = sq1_alias1.col_varchar_nokey ) ) ) ) AND alias1.col_int_key NOT BETWEEN 20 AND ( 20 + 10 ) AND ( EXISTS (SELECT DISTINCT sq2_alias1.col_int_key AS sq2_field1 FROM ( cc AS sq2_alias1 INNER JOIN b AS sq2_alias2 ON (sq2_alias2.col_int_nokey = sq2_alias1.col_int_key ) ) WHERE sq2_alias1.col_varchar_nokey != alias3.col_varchar_nokey AND sq2_alias1.col_varchar_nokey <= 'g' ) AND alias1.col_varchar_nokey != 'z' ) HAVING field1 <= 3 ORDER BY CONCAT( alias1.col_varchar_key, alias2.col_varchar_key ), field1, field2, field3 LIMIT 1;
--source include/explain_for_connection.inc
let $query=SELECT SQL_SMALL_RESULT (SELECT COUNT( sq1_alias1.col_varchar_nokey ) AS sq1_field1 FROM ( cc AS sq1_alias1 , c AS sq1_alias2 ) ) AS field1 FROM ( c AS alias1 LEFT JOIN ( ( ( SELECT sq2_alias1.* FROM bb AS sq2_alias1 ) AS alias2 INNER JOIN ( SELECT sq3_alias2.* FROM ( bb AS sq3_alias1 , a AS sq3_alias2 ) WHERE sq3_alias1.col_varchar_nokey != sq3_alias2.col_varchar_key ) AS alias3 ON (alias3.pk = alias2.pk ) ) ) ON (alias3.col_varchar_key = alias2.col_varchar_key ) ) WHERE alias3.col_varchar_key > ALL (SELECT sq4_alias2.col_varchar_nokey AS sq4_field1 FROM ( d AS sq4_alias1 STRAIGHT_JOIN cc AS sq4_alias2 ON (sq4_alias2.pk = sq4_alias1.col_int_key ) ) ) GROUP BY field1 HAVING field1 = 'u' ORDER BY alias1.col_varchar_key , alias3 .pk DESC , alias1.col_varchar_key , alias1 .pk ;
--source include/explain_for_connection.inc
let $query=SELECT CONCAT( table1.col_varchar_nokey , table1.col_varchar_key ) AS field1 , table1.col_varchar_key AS field2 , CONCAT( table1.col_varchar_nokey , table1.col_varchar_key ) AS field3 FROM ( cc AS table1 STRAIGHT_JOIN ( ( ( SELECT subquery1_t2.* FROM ( c AS subquery1_t1 LEFT JOIN ( c AS subquery1_t2 LEFT OUTER JOIN cc AS subquery1_t3 ON (subquery1_t3.col_int_key = subquery1_t2.pk ) ) ON (subquery1_t3.col_int_key = subquery1_t2.col_int_key ) ) ) AS table2 LEFT OUTER JOIN bb AS table3 ON (table3.col_varchar_key = table2.col_varchar_nokey ) ) ) ON (table3.col_varchar_nokey = table2.col_varchar_key ) ) WHERE ( table3.col_varchar_key <= (SELECT 'r' FROM dummy ) ) AND ( table1.pk <= table2.col_int_key AND table1.pk > table3.col_int_key ) ;
--source include/explain_for_connection.inc
let $query=SELECT CONCAT( table2.col_varchar_key , table1.col_varchar_key ) AS field1 , table2.pk AS field2 , table1.pk AS field3 FROM ( cc AS table1 STRAIGHT_JOIN ( ( ( SELECT SQL_SMALL_RESULT subquery1_t2.* FROM ( cc AS subquery1_t1 RIGHT OUTER JOIN bb AS subquery1_t2 ON (subquery1_t2.col_int_nokey = subquery1_t1.pk ) ) ) AS table2 INNER JOIN cc AS table3 ON (table3.pk = table2.pk ) ) ) ON (table3.col_int_key = table2.col_int_nokey ) ) WHERE ( EXISTS (SELECT subquery2_t1.col_int_nokey AS subquery2_field1 FROM ( c AS subquery2_t1 INNER JOIN ( c AS subquery2_t2 STRAIGHT_JOIN b AS subquery2_t3 ON (subquery2_t3.col_int_key = subquery2_t2.pk AND subquery2_t2.col_int_key NOT IN (SELECT child_subquery1_t1.col_int_nokey AS child_subquery1_field1 FROM ( cc AS child_subquery1_t1 LEFT JOIN c AS child_subquery1_t2 ON (child_subquery1_t2.col_int_nokey = child_subquery1_t1.col_int_key ) ) ) ) ) ON (subquery2_t3.col_varchar_key = subquery2_t2.col_varchar_key ) ) WHERE subquery2_t3.col_varchar_nokey <= table2.col_varchar_nokey AND subquery2_t3.pk <= table2.pk ) ) OR ( table3.col_varchar_nokey <= 'c' AND table2.col_varchar_key != table2.col_varchar_nokey ) ORDER BY table1.col_varchar_key /*+JavaDB:Postgres: NULLS FIRST*/ , table1 .pk DESC /*+JavaDB:Postgres: NULLS LAST */, field1 /*+JavaDB:Postgres: NULLS FIRST */, field2 /*+JavaDB:Postgres: NULLS FIRST */, field3 /*+JavaDB:Postgres: NULLS FIRST */ ;
--source include/explain_for_connection.inc
let $query=SELECT (SELECT MAX( DISTINCT sq1_alias1.col_int_key ) AS sq1_field1 FROM ( cc AS sq1_alias1 , bb AS sq1_alias2 ) WHERE sq1_alias2.pk <> alias1.pk AND sq1_alias2.pk <= alias1.col_int_key ) AS field1 , COUNT( alias1.col_varchar_key ) AS field2 FROM ( bb AS alias1 LEFT OUTER JOIN ( ( cc AS alias2 INNER JOIN cc AS alias3 ON (alias3.col_int_key = alias2.col_int_key ) ) ) ON (alias3.col_varchar_nokey = alias2.col_varchar_key ) ) WHERE ( EXISTS ( (SELECT sq2_alias1.col_varchar_nokey AS sq2_field1 FROM c AS sq2_alias1 WHERE ( sq2_alias1.col_varchar_nokey , sq2_alias1.col_varchar_nokey ) IN (SELECT c_sq1_alias1.col_varchar_key AS c_sq1_field1 , MAX( c_sq1_alias1.col_varchar_nokey ) AS c_sq1_field2 FROM cc AS c_sq1_alias1 ) GROUP BY sq2_field1 ) ) ) OR ( alias1.col_int_key > 51 AND alias1.col_int_key < ( 51 + 209 ) OR alias1.col_int_key > 51 AND alias1.col_int_key < ( 51 + 159 ) ) OR (SELECT SQL_SMALL_RESULT MIN( sq3_alias1.pk ) AS sq3_field1 FROM ( c AS sq3_alias1 RIGHT OUTER JOIN c AS sq3_alias2 ON (sq3_alias2.col_int_key = sq3_alias1.pk ) ) ) IS NOT NULL GROUP BY field1 HAVING field2 <> 5 ORDER BY alias1.col_time_key ASC , field2 , CONCAT( alias2.col_varchar_key, alias3.col_varchar_key );
--source include/explain_for_connection.inc
let $query=SELECT (SELECT 5 FROM dummy ) AS field1 FROM ( b AS table1 INNER JOIN ( ( ( SELECT subquery2_t1.* FROM ( cc AS subquery2_t1 INNER JOIN cc AS subquery2_t2 ON (subquery2_t2.col_varchar_key = subquery2_t1.col_varchar_key ) ) ) AS table2 LEFT JOIN cc AS table3 ON (table3.col_int_key = table2.pk ) ) ) ON (table3.col_varchar_key = table2.col_varchar_key ) ) WHERE ( EXISTS ( (SELECT subquery3_t2.col_varchar_nokey AS subquery3_field1 FROM ( d AS subquery3_t1 INNER JOIN bb AS subquery3_t2 ON (subquery3_t2.col_int_key = subquery3_t1.pk ) ) ) ) ) OR ( table1.col_varchar_key = 'w' AND table1.col_varchar_key = table3.col_varchar_key ) ORDER BY table1.col_varchar_key DESC /*+JavaDB:Postgres: NULLS LAST */ , field1 /*+JavaDB:Postgres: NULLS FIRST */ LIMIT 10 OFFSET 6;
--source include/explain_for_connection.inc
let $query=SELECT alias1.col_time_key AS field1 , alias2.col_varchar_key AS field2 FROM ( b AS alias1 , ( SELECT sq1_alias1.* FROM cc AS sq1_alias1 ) AS alias2 , c AS alias3 ) WHERE ( EXISTS ( (SELECT 5 FROM DUAL ) ) ) OR ( alias1.col_varchar_key IN ('e' , 'USA') OR alias1.col_varchar_key IN ('USA') ) GROUP BY field1, field2 HAVING field2 > 'e' ;
--source include/explain_for_connection.inc
let $query=SELECT (SELECT 'z' FROM dummy ) AS field1 , table1.pk AS field2 , table1.col_time_key AS field3 , table2.col_datetime_key AS field4 , table1.col_datetime_key AS field5 , table2.pk AS field6 FROM ( ( SELECT subquery2_t1.* FROM ( c AS subquery2_t1 INNER JOIN cc AS subquery2_t2 ON (subquery2_t2.pk = subquery2_t1.pk ) ) ) AS table1 INNER JOIN ( SELECT subquery3_t1.* FROM ( b AS subquery3_t1 LEFT JOIN c AS subquery3_t2 ON (subquery3_t2.pk = subquery3_t1.pk ) ) ) AS table2 ON (table2.pk = table1.col_int_key ) ) WHERE ( EXISTS ( (SELECT subquery4_t1.col_varchar_key AS subquery4_field1 FROM ( cc AS subquery4_t1 LEFT OUTER JOIN c AS subquery4_t2 ON (subquery4_t2.pk = subquery4_t1.col_int_key ) ) ) ) ) OR ( table1.pk = 141 AND table1.pk = 79 ) ORDER BY table1.col_datetime_key DESC /*+JavaDB:Postgres: NULLS LAST */;
--source include/explain_for_connection.inc
let $query=SELECT alias1.col_int_key AS field1 , alias2.col_varchar_key AS field2 FROM ( c AS alias1 , ( SELECT sq1_alias1.* FROM ( cc AS sq1_alias1 RIGHT JOIN b AS sq1_alias2 ON (sq1_alias2.col_int_key = sq1_alias1.pk ) ) ) AS alias2 , ( SELECT sq2_alias1.* FROM ( cc AS sq2_alias1 INNER JOIN c AS sq2_alias2 ON (sq2_alias2.pk = sq2_alias1.pk ) ) ) AS alias3 ) WHERE alias3.col_int_key IN (SELECT sq3_alias1.col_int_key AS sq3_field1 FROM ( c AS sq3_alias1 , c AS sq3_alias2 ) ) HAVING ((field1 = 'z' OR field2 < 235) AND field1 != 1) ORDER BY alias1.col_varchar_key DESC;
--source include/explain_for_connection.inc
let $query=SELECT STRAIGHT_JOIN table1.pk AS field1 FROM ( c AS table1 INNER JOIN ( ( c AS table2 INNER JOIN ( SELECT subquery1_t1.* FROM ( bb AS subquery1_t1 STRAIGHT_JOIN cc AS subquery1_t2 ON (subquery1_t2.pk = subquery1_t1.col_int_nokey ) ) WHERE ( subquery1_t2.col_varchar_key < 'x' AND subquery1_t1.col_int_nokey != subquery1_t2.pk ) ) AS table3 ON (table3.pk = table2.col_int_key AND table2.col_int_key = (SELECT MIN( subquery2_t1.col_int_nokey ) AS subquery2_field1 FROM ( cc AS subquery2_t1 INNER JOIN cc AS subquery2_t2 ON (subquery2_t2.pk = subquery2_t1.col_int_nokey ) ) ) ) ) ) ON (table3.col_varchar_key = table2.col_varchar_nokey ) ) WHERE ( table1.pk = ALL (SELECT 25 FROM dummy UNION SELECT 2 FROM dummy ) ) AND ( table1.col_varchar_key NOT IN ('z', 'n') OR table1.pk > 67 AND table1.pk < ( 67 + 32 ) ) ;
--source include/explain_for_connection.inc
let $query=SELECT SQL_SMALL_RESULT table2.col_varchar_key AS field1 , table2.col_time_key AS field2 , table1.col_time_key AS field3 , table1.col_datetime_key AS field4 , ( ( table1.col_int_key ) - ( table1.pk ) ) AS field5 FROM ( cc AS table1 STRAIGHT_JOIN a AS table2 ON (table2.col_int_key = table1.col_int_nokey ) ) WHERE ( EXISTS ( (SELECT subquery1_t1.col_varchar_key AS subquery1_field1 FROM ( c AS subquery1_t1 LEFT JOIN b AS subquery1_t2 ON (subquery1_t2.col_int_nokey = subquery1_t1.pk AND subquery1_t1.pk NOT IN (SELECT child_subquery1_t1.col_int_key AS child_subquery1_field1 FROM b AS child_subquery1_t1 ) ) ) GROUP BY subquery1_field1 ) ) ) AND table2.col_varchar_key >= table1.col_varchar_key ORDER BY table1.col_date_key DESC /*+JavaDB:Postgres: NULLS LAST */ , field1 /*+JavaDB:Postgres: NULLS FIRST */, field2 /*+JavaDB:Postgres: NULLS FIRST */, field3 /*+JavaDB:Postgres: NULLS FIRST */, field4 /*+JavaDB:Postgres: NULLS FIRST */, field5 /*+JavaDB:Postgres: NULLS FIRST */ ;
--source include/explain_for_connection.inc
let $query=SELECT SQL_SMALL_RESULT table2.col_varchar_key AS field1 FROM ( c AS table1 LEFT OUTER JOIN cc AS table2 ON (table2.col_int_key = table1.pk ) ) WHERE ( table2.col_varchar_nokey != ANY (SELECT SQL_SMALL_RESULT subquery1_t1.col_varchar_key AS subquery1_field1 FROM ( c AS subquery1_t1 LEFT OUTER JOIN c AS subquery1_t2 ON (subquery1_t2.col_int_key = subquery1_t1.col_int_key OR subquery1_t2.col_int_key = (SELECT MIN( child_subquery1_t2.pk ) AS child_subquery1_field1 FROM ( c AS child_subquery1_t1 INNER JOIN c AS child_subquery1_t2 ON (child_subquery1_t2.col_int_key = child_subquery1_t1.pk ) ) WHERE child_subquery1_t2.col_varchar_nokey = child_subquery1_t2.col_varchar_key ) ) ) WHERE subquery1_t2.pk >= table1.col_int_nokey ) ) AND ( table1.pk NOT IN (226, 126) OR table1.col_int_key > 241 AND table1.col_int_key < ( 241 + 133 ) ) OR ( table2.col_varchar_key <> 'a' OR table1.col_int_key < table1.pk ) ;
--source include/explain_for_connection.inc
let $query=SELECT alias1.col_varchar_key AS field1 FROM ( ( SELECT sq1_alias1.* FROM ( view_cc AS sq1_alias1 , cc AS sq1_alias2 ) WHERE sq1_alias1.pk < sq1_alias2.col_int_nokey ) AS alias1 RIGHT OUTER JOIN c AS alias2 ON (alias2.col_varchar_nokey = alias1.col_varchar_key ) ) WHERE ( EXISTS ( (SELECT sq2_alias1.col_varchar_nokey AS sq2_field1 FROM ( c AS sq2_alias1 , cc AS sq2_alias2 ) ) ) ) AND alias1.col_int_key = 108 HAVING field1 < 'o' ORDER BY alias1.col_date_key , alias2 .pk ASC, field1 ;
--source include/explain_for_connection.inc
let $query=SELECT table2.pk AS field1 FROM ( ( SELECT subquery1_t1.* FROM ( cc AS subquery1_t1 INNER JOIN c AS subquery1_t2 ON (subquery1_t2.col_varchar_key = subquery1_t1.col_varchar_key ) ) WHERE ( NOT EXISTS (SELECT child_subquery1_t2.col_varchar_nokey AS child_subquery1_field1 FROM ( cc AS child_subquery1_t1 INNER JOIN c AS child_subquery1_t2 ON (child_subquery1_t2.pk = child_subquery1_t1.pk ) ) WHERE child_subquery1_t2.col_int_nokey <> subquery1_t1.pk ) OR subquery1_t2.col_varchar_key >= 'c' ) ) AS table1 INNER JOIN cc AS table2 ON (table2.col_int_nokey = table1.col_int_key ) ) WHERE ( table2.col_varchar_key > (SELECT 'r' FROM dummy ) ) AND table1.col_int_key = 104 ORDER BY table1.col_time_key ASC /*+JavaDB:Postgres: NULLS FIRST */ , field1 /*+JavaDB:Postgres: NULLS FIRST */ LIMIT 1;
--source include/explain_for_connection.inc
let $query=SELECT alias1.col_datetime_key AS field1 , alias1.col_datetime_key AS field2 FROM ( view_cc AS alias1 , cc AS alias2 , ( SELECT sq1_alias1.* FROM bb AS sq1_alias1 ) AS alias3 ) WHERE ( NOT EXISTS (SELECT sq2_alias1.col_int_nokey AS sq2_field1 FROM c AS sq2_alias1 WHERE sq2_alias1.col_varchar_key > alias2.col_varchar_nokey AND sq2_alias1.pk >= 8 ) ) AND alias1.col_varchar_key <> 'b' HAVING field2 < 'b' ORDER BY alias1.col_time_key , field1, field2 ;
--source include/explain_for_connection.inc
let $query=SELECT MAX( alias1.pk ) AS field1 FROM ( ( SELECT DISTINCT sq1_alias1.* FROM bb AS sq1_alias1 ) AS alias1 RIGHT OUTER JOIN ( SELECT sq2_alias1.* FROM cc AS sq2_alias1 WHERE sq2_alias1.pk < sq2_alias1.col_int_nokey ) AS alias2 ON (alias2.col_varchar_key = alias1.col_varchar_nokey ) ) WHERE alias2.col_varchar_nokey > (SELECT SUM( sq3_alias1.col_varchar_key ) AS sq3_field1 FROM ( cc AS sq3_alias1 INNER JOIN b AS sq3_alias2 ON (sq3_alias2.col_varchar_key = sq3_alias1.col_varchar_key AND sq3_alias2.pk > ALL (SELECT 7 UNION SELECT 7 ) ) ) ) HAVING ( ( 7, 8 ) NOT IN (SELECT sq4_alias1.col_int_nokey AS sq4_field1 , MAX( sq4_alias1.pk ) AS sq4_field2 FROM ( view_bb AS sq4_alias1 LEFT OUTER JOIN ( cc AS sq4_alias2 RIGHT JOIN c AS sq4_alias3 ON (sq4_alias3.col_varchar_key = sq4_alias2.col_varchar_nokey ) ) ON (sq4_alias3.col_varchar_key = sq4_alias2.col_varchar_key ) ) ) AND field1 >= 2) ORDER BY alias1.col_int_key , field1 ;
--source include/explain_for_connection.inc
let $query=SELECT alias1.col_date_key AS field1 FROM ( ( SELECT sq1_alias1.* FROM b AS sq1_alias1 ) AS alias1 LEFT OUTER JOIN d AS alias2 ON (alias2.col_varchar_key = alias1.col_varchar_key ) ) WHERE ( alias1.col_varchar_nokey >= SOME (SELECT sq2_alias1.col_varchar_key AS sq2_field1 FROM cc AS sq2_alias1 WHERE sq2_alias1.col_varchar_nokey <> alias2.col_varchar_key AND sq2_alias1.col_varchar_nokey != alias2.col_varchar_nokey ) ) AND alias1.col_int_nokey < ANY (SELECT 7 UNION SELECT 3 ) HAVING field1 >= 1 ;
--source include/explain_for_connection.inc
let $query=SELECT COUNT( alias1.col_varchar_nokey ) AS field1 FROM ( cc AS alias1 INNER JOIN ( ( b AS alias2 RIGHT OUTER JOIN ( SELECT sq1_alias1.* FROM ( b AS sq1_alias1 , cc AS sq1_alias2 ) ) AS alias3 ON (alias3.col_varchar_key = alias2.col_varchar_key ) ) ) ON (alias3.col_varchar_key = alias2.col_varchar_key ) ) WHERE alias2.col_varchar_nokey <= ANY (SELECT 'z' UNION DISTINCT SELECT 'l' ) HAVING (field1 <> 'j' AND field1 >= 'wr') ORDER BY field1 DESC , alias1.col_int_key , alias1.col_datetime_key DESC;
--source include/explain_for_connection.inc
let $query=SELECT DISTINCT alias2.col_varchar_nokey AS field1 , alias1.col_date_key AS field2 , alias2.col_datetime_key AS field3 , alias2.col_date_key AS field4 , alias2.col_varchar_key AS field5 , alias2.col_int_key AS field6 FROM ( cc AS alias1 INNER JOIN ( SELECT DISTINCT sq1_alias1.* FROM ( cc AS sq1_alias1 INNER JOIN c AS sq1_alias2 ON (sq1_alias2.pk = sq1_alias1.col_int_nokey ) ) WHERE ( sq1_alias2.pk < sq1_alias2.col_int_nokey OR sq1_alias2.col_varchar_key > SOME (SELECT 1 UNION DISTINCT SELECT 5 ) ) ) AS alias2 ON (alias2.col_varchar_key = alias1.col_varchar_key ) ) WHERE EXISTS ( (SELECT sq2_alias1.col_int_nokey AS sq2_field1 FROM ( c AS sq2_alias1 , view_c AS sq2_alias2 ) ) ) GROUP BY field1, field2, field3, field4, field5, field6 HAVING field4 <> 3 ORDER BY field2 , alias1.col_datetime_key ;
--source include/explain_for_connection.inc
let $query=SELECT CONCAT( table2.col_varchar_key , table2.col_varchar_nokey ) AS field1 FROM ( ( SELECT subquery1_t1.* FROM ( c AS subquery1_t1 INNER JOIN bb AS subquery1_t2 ON (subquery1_t2.col_int_key = subquery1_t1.pk OR subquery1_t1.col_int_nokey >= ALL (SELECT 3 FROM dummy UNION SELECT 4 FROM dummy ) ) ) WHERE NOT EXISTS (SELECT SQL_SMALL_RESULT child_subquery2_t1.col_int_key AS child_subquery1_field1 FROM ( a AS child_subquery2_t1 STRAIGHT_JOIN ( ( cc AS child_subquery2_t2 INNER JOIN c AS child_subquery2_t3 ON (child_subquery2_t3.col_varchar_key = child_subquery2_t2.col_varchar_nokey ) ) ) ON (child_subquery2_t3.col_int_nokey = child_subquery2_t2.pk ) ) WHERE child_subquery2_t1.pk <= subquery1_t2.col_int_key ) ) AS table1 INNER JOIN ( SELECT subquery2_t1.* FROM c AS subquery2_t1 ) AS table2 ON (table2.pk = table1.pk ) ) WHERE ( (SELECT SQL_SMALL_RESULT SUM( DISTINCT subquery3_t1.col_int_key ) AS subquery3_field1 FROM ( bb AS subquery3_t1 INNER JOIN cc AS subquery3_t2 ON (subquery3_t2.col_varchar_key = subquery3_t1.col_varchar_nokey ) ) ) IS NULL ) AND ( table1.col_varchar_key IN ('g', 'z', 'w', 'v', 't') OR table1.pk > 39 AND table1.pk < ( 39 + 233 ) ) OR table1.col_varchar_key IS NULL ORDER BY table1.col_int_key ASC /*+JavaDB:Postgres: NULLS FIRST */ , field1 /*+JavaDB:Postgres: NULLS FIRST */ LIMIT 100;
--source include/explain_for_connection.inc
DROP TABLE a;
DROP TABLE aa;
DROP TABLE b;
DROP TABLE bb;
DROP TABLE c;
DROP TABLE cc;
DROP TABLE d;
DROP TABLE dd;
DROP TABLE dummy;
DROP TABLE e;
DROP VIEW view_a;
DROP VIEW view_aa;
DROP VIEW view_b;
DROP VIEW view_bb;
DROP VIEW view_c;
DROP VIEW view_cc;
DROP VIEW view_d;
--source include/restore_sql_mode_after_turn_off_only_full_group_by.inc