~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/select.test

  • Committer: Brian Aker
  • Date: 2008-10-06 06:47:29 UTC
  • Revision ID: brian@tangent.org-20081006064729-2i9mhjkzyvow9xsm
RemoveĀ uint.

Show diffs side-by-side

added added

removed removed

Lines of Context:
45
45
#
46
46
 
47
47
--disable_query_log
48
 
begin;
49
48
INSERT INTO t2 VALUES (1,000001,00,'Omaha','teethe','neat','');
50
49
INSERT INTO t2 VALUES (2,011401,37,'breaking','dreaded','Steinberg','W');
51
50
INSERT INTO t2 VALUES (3,011402,37,'Romans','scholastics','jarring','');
1245
1244
INSERT INTO t2 VALUES (1191,068504,00,'bonfire','corresponds','positively','');
1246
1245
INSERT INTO t2 VALUES (1192,068305,00,'Colombo','hardware','colicky','');
1247
1246
INSERT INTO t2 VALUES (1193,000000,00,'nondecreasing','implant','thrillingly','');
1248
 
commit;
1249
1247
--enable_query_log
1250
1248
 
1251
1249
#
1334
1332
# If the like starts with a certain letter key will be used.
1335
1333
#
1336
1334
 
1337
 
--sorted_result
1338
1335
select fld1,fld3 from t2 where companynr = 37 and fld3 like 'f%';
1339
1336
select fld3 from t2 where fld3 like "L%" and fld3 = "ok";
1340
1337
select fld3 from t2 where (fld3 like "C%" and fld3 = "Chantilly");
1351
1348
select distinct companynr from t2;
1352
1349
select distinct companynr from t2 order by companynr;
1353
1350
select distinct companynr from t2 order by companynr desc;
1354
 
--sorted_result
1355
1351
select distinct t2.fld3,period from t2,t1 where companynr=37 and fld3 like "O%";
1356
1352
 
1357
1353
select distinct fld3 from t2 where companynr = 34 order by fld3;
1358
 
# PBXT: because there is no ORDER BY with a LIMIT, these
1359
 
# statements return different results to those from innodb
1360
 
--sorted_result
1361
1354
select distinct fld3 from t2 limit 10;
1362
1355
select distinct fld3 from t2 having fld3 like "A%" limit 10;
1363
1356
select distinct substring(fld3,1,3) from t2 where fld3 like "A%";
1364
1357
select distinct substring(fld3,1,3) as a from t2 having a like "A%" order by a limit 10;
1365
1358
select distinct substring(fld3,1,3) from t2 where fld3 like "A%" limit 10;
1366
 
--sorted_result
1367
1359
select distinct substring(fld3,1,3) as a from t2 having a like "A%" limit 10;
1368
1360
 
1369
1361
# make a big table.
1419
1411
 
1420
1412
# big table done
1421
1413
 
 
1414
SET SQL_BIG_TABLES=1;
1422
1415
select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10;
 
1416
SET SQL_BIG_TABLES=0;
1423
1417
select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10;
1424
1418
select distinct fld5 from t2 limit 10;
1425
1419
 
1428
1422
#
1429
1423
 
1430
1424
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
 
1425
SET SQL_BIG_TABLES=1; # Force use of MyISAM
1431
1426
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
 
1427
SET SQL_BIG_TABLES=0;
1432
1428
select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10;
1433
1429
 
1434
1430
#
1478
1474
# Search with a constant table and several rows from another table
1479
1475
#
1480
1476
 
1481
 
--sorted_result
1482
1477
select fld3,period from t2,t1 where companynr*10 = 37*10;
1483
1478
 
1484
1479
#
1500
1495
# We need another table for join stuff..
1501
1496
#
1502
1497
 
1503
 
create temporary table t4 (
 
1498
create table t4 (
1504
1499
  companynr int NOT NULL default '0',
1505
1500
  companyname char(30) NOT NULL default '',
1506
1501
  PRIMARY KEY (companynr),
1507
1502
  UNIQUE KEY companyname(companyname)
1508
 
) ENGINE=MyISAM COMMENT='companynames';
 
1503
) ENGINE=MyISAM MAX_ROWS=50 PACK_KEYS=1 COMMENT='companynames';
1509
1504
 
1510
1505
--disable_query_log
1511
1506
INSERT INTO t4 (companynr, companyname) VALUES (29,'company 1');
1762
1757
show tables from test like "t?";
1763
1758
# We mask out the Privileges column because it differs with embedded server
1764
1759
--replace_column 8 #
1765
 
show columns from t2;
1766
 
--replace_column 8 #
1767
 
show columns from t2 from test like 'f%';
1768
 
--replace_column 8 #
1769
 
show columns from t2 from test like 's%';
 
1760
show full columns from t2;
 
1761
--replace_column 8 #
 
1762
show full columns from t2 from test like 'f%';
 
1763
--replace_column 8 #
 
1764
show full columns from t2 from test like 's%';
1770
1765
#show keys from t2;
1771
1766
 
1772
1767
drop table t4, t3, t2, t1;
1790
1785
# Test of bug with SUM(CASE...)
1791
1786
#
1792
1787
 
1793
 
CREATE TEMPORARY TABLE t1 (gvid int default NULL,  hmid int default NULL,  volid int default NULL,  mmid int default NULL,  hdid int default NULL,  fsid int default NULL,  ctid int default NULL,  dtid int default NULL,  cost int default NULL,  performance int default NULL,  serialnumber bigint default NULL,  monitored int default '1',  removed int default '0',  target int default '0',  dt_modified timestamp NOT NULL,  name varchar(255) default NULL,  description varchar(255) default NULL,  UNIQUE KEY hmid (hmid,volid)) ENGINE=MyISAM;
 
1788
CREATE TABLE t1 (gvid int default NULL,  hmid int default NULL,  volid int default NULL,  mmid int default NULL,  hdid int default NULL,  fsid int default NULL,  ctid int default NULL,  dtid int default NULL,  cost int default NULL,  performance int default NULL,  serialnumber bigint default NULL,  monitored int default '1',  removed int default '0',  target int default '0',  dt_modified timestamp NOT NULL,  name varchar(255) binary default NULL,  description varchar(255) default NULL,  UNIQUE KEY hmid (hmid,volid)) ENGINE=MyISAM;
1794
1789
INSERT INTO t1 VALUES (200001,2,1,1,100,1,1,1,0,0,0,1,0,1,20020425060057,'\\\\ARKIVIO-TESTPDC\\E$',''),(200002,2,2,1,101,1,1,1,0,0,0,1,0,1,20020425060057,'\\\\ARKIVIO-TESTPDC\\C$',''),(200003,1,3,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,1,20020425060427,'c:',NULL);
1795
 
CREATE TEMPORARY TABLE t2 (  hmid int default NULL,  volid int default NULL,  sampletid int default NULL,  sampletime datetime default NULL,  samplevalue bigint default NULL,  KEY idx1 (hmid,volid,sampletid,sampletime)) ENGINE=MyISAM;
 
1790
CREATE TABLE t2 (  hmid int default NULL,  volid int default NULL,  sampletid int default NULL,  sampletime datetime default NULL,  samplevalue bigint default NULL,  KEY idx1 (hmid,volid,sampletid,sampletime)) ENGINE=MyISAM;
1796
1791
INSERT INTO t2 VALUES (1,3,10,'2002-06-01 08:00:00',35),(1,3,1010,'2002-06-01 12:00:01',35);
1797
 
--error 1686 # bad datetime
 
1792
# Disable PS becasue we get more warnings from PS than from normal execution
 
1793
--disable_ps_protocol
1798
1794
SELECT a.gvid, (SUM(CASE b.sampletid WHEN 140 THEN b.samplevalue ELSE 0 END)) as the_success,(SUM(CASE b.sampletid WHEN 141 THEN b.samplevalue ELSE 0 END)) as the_fail,(SUM(CASE b.sampletid WHEN 142 THEN b.samplevalue ELSE 0 END)) as the_size,(SUM(CASE b.sampletid WHEN 143 THEN b.samplevalue ELSE 0 END)) as the_time FROM t1 a, t2 b WHERE a.hmid = b.hmid AND a.volid = b.volid AND b.sampletime >= 'wrong-date-value' AND b.sampletime < 'wrong-date-value' AND b.sampletid IN (140, 141, 142, 143) GROUP BY a.gvid;
 
1795
--enable_ps_protocol
1799
1796
# Testing the same select with NULL's instead of invalid datetime values
1800
1797
SELECT a.gvid, (SUM(CASE b.sampletid WHEN 140 THEN b.samplevalue ELSE 0 END)) as the_success,(SUM(CASE b.sampletid WHEN 141 THEN b.samplevalue ELSE 0 END)) as the_fail,(SUM(CASE b.sampletid WHEN 142 THEN b.samplevalue ELSE 0 END)) as the_size,(SUM(CASE b.sampletid WHEN 143 THEN b.samplevalue ELSE 0 END)) as the_time FROM t1 a, t2 b WHERE a.hmid = b.hmid AND a.volid = b.volid AND b.sampletime >= NULL AND b.sampletime < NULL AND b.sampletid IN (140, 141, 142, 143) GROUP BY a.gvid;
1801
1798
DROP TABLE t1,t2;
1834
1831
select * from (t1 as t2 left join t1 as t3 using (a)) straight_join t1;
1835
1832
select * from t1 straight_join (t1 as t2 left join t1 as t3 using (a));
1836
1833
# inner join on
1837
 
--sorted_result
1838
1834
select * from (t1 as t2 left join t1 as t3 using (a)) inner join t1 on t1.a>1;
1839
1835
select * from t1 inner join (t1 as t2 left join t1 as t3 using (a)) on t1.a>1;
1840
1836
# inner join using
1863
1859
select * from (t1 as t2 left join t1 as t3 using (a)) natural join t1;
1864
1860
drop table t1;
1865
1861
 
1866
 
CREATE TEMPORARY TABLE t1 (  aa char(2),  id int NOT NULL auto_increment,  t2_id int NOT NULL default '0',  PRIMARY KEY  (id),  KEY replace_id (t2_id)) ENGINE=MyISAM;
 
1862
CREATE TABLE t1 (  aa char(2),  id int NOT NULL auto_increment,  t2_id int NOT NULL default '0',  PRIMARY KEY  (id),  KEY replace_id (t2_id)) ENGINE=MyISAM;
1867
1863
INSERT INTO t1 VALUES ("1",8264,2506),("2",8299,2517),("3",8301,2518),("4",8302,2519),("5",8303,2520),("6",8304,2521),("7",8305,2522);
1868
 
CREATE TEMPORARY TABLE t2 ( id int NOT NULL auto_increment,  PRIMARY KEY  (id)) ENGINE=MyISAM;
 
1864
CREATE TABLE t2 ( id int NOT NULL auto_increment,  PRIMARY KEY  (id)) ENGINE=MyISAM;
1869
1865
INSERT INTO t2 VALUES (2517), (2518), (2519), (2520), (2521), (2522);
1870
1866
select * from t1, t2 WHERE t1.t2_id = t2.id and t1.t2_id > 0   order by t1.id   LIMIT 0, 5;
1871
1867
drop table t1,t2;
1923
1919
# Covering index is mentioned in EXPLAIN output for const tables (bug #5333)
1924
1920
#
1925
1921
 
1926
 
CREATE TEMPORARY TABLE t1 (
 
1922
CREATE TABLE t1 (
1927
1923
  i int NOT NULL default '0',
1928
1924
  c char(10) NOT NULL default '',
1929
1925
  PRIMARY KEY  (i),
2173
2169
create table t1 (f1 int not null auto_increment primary key, f2 varchar(10));
2174
2170
create table t11 like t1;
2175
2171
insert into t1 values(1,""),(2,"");
2176
 
--replace_column 1 #  6 # 7 # 8 # 9 # 10 #
 
2172
--replace_column 7 X 8 X 9 X 10 X 11 X 12 X 13 X 14 X
2177
2173
show table status like 't1%';
2178
2174
select 123 as a from t1 where f1 is null;
2179
2175
drop table t1,t11;
2320
2316
# 1. has integer type, 
2321
2317
# 2. can be used with the "@@name" syntax
2322
2318
# 3. available in every server build
2323
 
INSERT INTO t1 VALUES(@@server_id);
2324
 
INSERT INTO t2 VALUES(@@server_id);
 
2319
INSERT INTO t1 VALUES(@@connect_timeout);
 
2320
INSERT INTO t2 VALUES(@@connect_timeout);
2325
2321
 
2326
2322
# We only need to ensure 1 row is returned to validate the results
2327
2323
--replace_column 1 X 2 X
2328
 
SELECT * FROM t1 JOIN t2 ON t1.c0 = t2.c0 WHERE (t1.c0 <=> @@server_id);
 
2324
SELECT * FROM t1 JOIN t2 ON t1.c0 = t2.c0 WHERE (t1.c0 <=> @@connect_timeout);
2329
2325
 
2330
2326
DROP TABLE t1, t2;
2331
2327
 
2335
2331
# Test for bug #6474
2336
2332
#
2337
2333
 
2338
 
CREATE TEMPORARY TABLE t1 ( 
 
2334
CREATE TABLE t1 ( 
2339
2335
K2C4 varchar(4) collate utf8_bin NOT NULL default '', 
2340
2336
K4N4 varchar(4) collate utf8_bin NOT NULL default '0000', 
2341
2337
F2I4 int NOT NULL default '0' 
2388
2384
# Bug#9799
2389
2385
#
2390
2386
 
2391
 
create temporary table t1 (s1 int) engine=myisam;
 
2387
create table t1 (s1 int) engine=myisam;
2392
2388
insert into t1 values (0);
2393
2389
select avg(distinct s1) from t1 group by s1 with rollup;
2394
2390
drop table t1;
2587
2583
insert into t1 values(1,'2005-01-01'),(2,'2005-09-01'),(3,'2005-09-30'),
2588
2584
  (4,'2005-10-01'),(5,'2005-12-30');
2589
2585
# should return all records
2590
 
--error 1686 # Bad date
2591
2586
select * from t1 where f2 >= 0            order by f2;
2592
 
--error 1686 # Bad date
2593
2587
select * from t1 where f2 >= '0000-00-00' order by f2;
2594
2588
# should return 4,5
2595
 
--error 1686 # Bad date
2596
2589
select * from t1 where f2 >= '2005-09-31' order by f2;
2597
 
--error 1686 # Bad date
2598
2590
select * from t1 where f2 >= '2005-09-3a' order by f2;
2599
 
--error 1686 # Bad date
 
2591
# should return 1,2,3
2600
2592
select * from t1 where f2 <= '2005-09-31' order by f2;
2601
 
--error 1686 # Bad date
2602
2593
select * from t1 where f2 <= '2005-09-3a' order by f2;
2603
2594
drop table t1;
2604
2595
 
2984
2975
SELECT COUNT(*) FROM t1 WHERE ID1_with_null IS NULL AND ID2_with_null IS NULL;
2985
2976
SELECT COUNT(*) FROM t1 WHERE ID_better=1;
2986
2977
 
2987
 
# PBXT: does not return a consistent row count
2988
 
--replace_column 9 #
2989
2978
EXPLAIN SELECT * FROM t1
2990
2979
  WHERE ID_better=1 AND ID1_with_null IS NULL AND ID2_with_null=3 ;
2991
 
--replace_column 9 #
2992
2980
EXPLAIN SELECT * FROM t1
2993
2981
  WHERE ID_better=1 AND ID1_with_null=3 AND ID2_with_null=3 IS NULL ;
2994
 
--replace_column 9 #
2995
2982
EXPLAIN SELECT * FROM t1
2996
2983
  WHERE ID_better=1 AND ID1_with_null IS NULL AND ID2_with_null IS NULL;
2997
2984
 
3301
3288
# Bug#31800: Date comparison fails with timezone and slashes for greater
3302
3289
#            than comparison
3303
3290
#
3304
 
#
3305
 
# @TODO Commenting all str_to_date out for now...should move to a plugin.
3306
 
#
 
3291
 
3307
3292
# On DATETIME-like literals with trailing garbage, BETWEEN fudged in a
3308
3293
# DATETIME comparator, while greater/less-than used bin-string comparisons.
3309
3294
# Should correctly be compared as DATE or DATETIME, but throw a warning:
3310
3295
 
3311
 
#select str_to_date('2007-10-09','%Y-%m-%d') between '2007/10/01 00:00:00 GMT'
3312
 
#                                                and '2007/10/20 00:00:00 GMT';
3313
 
#select str_to_date('2007-10-09','%Y-%m-%d') > '2007/10/01 00:00:00 GMT-6';
3314
 
#select str_to_date('2007-10-09','%Y-%m-%d') <= '2007/10/2000:00:00 GMT-6';
 
3296
select str_to_date('2007-10-09','%Y-%m-%d') between '2007/10/01 00:00:00 GMT'
 
3297
                                                and '2007/10/20 00:00:00 GMT';
 
3298
select str_to_date('2007-10-09','%Y-%m-%d') > '2007/10/01 00:00:00 GMT-6';
 
3299
select str_to_date('2007-10-09','%Y-%m-%d') <= '2007/10/2000:00:00 GMT-6';
3315
3300
 
3316
3301
# We have all we need -- and trailing garbage:
3317
3302
# (leaving out a leading zero in first example to prove it's a
3318
3303
# value-comparison, not a string-comparison!)
3319
 
#select str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-1 00:00:00 GMT-6';
3320
 
#select str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-01 x00:00:00 GMT-6';
3321
 
#select str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 00:00:00 GMT-6';
3322
 
#select str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 00:x00:00 GMT-6';
 
3304
select str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-1 00:00:00 GMT-6';
 
3305
select str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-01 x00:00:00 GMT-6';
 
3306
select str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 00:00:00 GMT-6';
 
3307
select str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 00:x00:00 GMT-6';
3323
3308
# no time at all:
3324
 
#select str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 x12:34:56 GMT-6';
 
3309
select str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 x12:34:56 GMT-6';
3325
3310
# partial time:
3326
 
#select str_to_date('2007-10-01 12:34:00','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34x:56 GMT-6';
 
3311
select str_to_date('2007-10-01 12:34:00','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34x:56 GMT-6';
3327
3312
# fail, different second part:
3328
 
#select str_to_date('2007-10-01 12:34:56','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34x:56 GMT-6';
 
3313
select str_to_date('2007-10-01 12:34:56','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34x:56 GMT-6';
3329
3314
# correct syntax, no trailing nonsense -- this one must throw no warning:
3330
 
#select str_to_date('2007-10-01 12:34:56','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34:56';
 
3315
select str_to_date('2007-10-01 12:34:56','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34:56';
3331
3316
# no warning, but failure (different hour parts):
3332
 
#select str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-01 12:00:00';
 
3317
select str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-01 12:00:00';
3333
3318
# succeed:
3334
 
#select str_to_date('2007-10-01 12','%Y-%m-%d %H') = '2007-10-01 12:00:00';
 
3319
select str_to_date('2007-10-01 12','%Y-%m-%d %H') = '2007-10-01 12:00:00';
3335
3320
# succeed, but warn for "trailing garbage" (":34"):
3336
 
#select str_to_date('2007-10-01 12:34','%Y-%m-%d %H') = '2007-10-01 12:00:00';
 
3321
select str_to_date('2007-10-01 12:34','%Y-%m-%d %H') = '2007-10-01 12:00:00';
3337
3322
# invalid date (Feb 30) succeeds
3338
 
#select str_to_date('2007-02-30 12:34','%Y-%m-%d %H:%i') = '2007-02-30 12:34';
 
3323
select str_to_date('2007-02-30 12:34','%Y-%m-%d %H:%i') = '2007-02-30 12:34';
3339
3324
# 0-day for both, just works in default SQL mode.
3340
 
#select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34';
 
3325
select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34';
3341
3326
# 0-day, succeed
3342
 
#select str_to_date('2007-10-00','%Y-%m-%d') between '2007/09/01 00:00:00'
3343
 
#                                                and '2007/10/20 00:00:00';
3344
 
#select str_to_date('2007-10-00','%Y-%m-%d') between '' and '2007/10/20';
3345
 
#select str_to_date('','%Y-%m-%d') between '2007/10/01' and '2007/10/20';
3346
 
#select str_to_date('','%Y-%m-%d %H:%i') = '2007-10-01 12:34';
3347
 
#select str_to_date(NULL,'%Y-%m-%d %H:%i') = '2007-10-01 12:34';
3348
 
#select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '';
 
3327
select str_to_date('2007-10-00','%Y-%m-%d') between '2007/09/01 00:00:00'
 
3328
                                                and '2007/10/20 00:00:00';
 
3329
select str_to_date('2007-10-00','%Y-%m-%d') between '' and '2007/10/20';
 
3330
select str_to_date('','%Y-%m-%d') between '2007/10/01' and '2007/10/20';
 
3331
select str_to_date('','%Y-%m-%d %H:%i') = '2007-10-01 12:34';
 
3332
select str_to_date(NULL,'%Y-%m-%d %H:%i') = '2007-10-01 12:34';
 
3333
select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '';
3349
3334
 
3350
 
#select str_to_date('1','%Y-%m-%d') = '1';
3351
 
#select str_to_date('1','%Y-%m-%d') = '1';
3352
 
#select str_to_date('','%Y-%m-%d') = '';
 
3335
select str_to_date('1','%Y-%m-%d') = '1';
 
3336
select str_to_date('1','%Y-%m-%d') = '1';
 
3337
select str_to_date('','%Y-%m-%d') = '';
3353
3338
 
3354
3339
# these three should work!
3355
 
#select str_to_date('1000-01-01','%Y-%m-%d') between '0000-00-00' and NULL;
3356
 
#select str_to_date('1000-01-01','%Y-%m-%d') between NULL and '2000-00-00';
3357
 
#select str_to_date('1000-01-01','%Y-%m-%d') between NULL and NULL;
 
3340
select str_to_date('1000-01-01','%Y-%m-%d') between '0000-00-00' and NULL;
 
3341
select str_to_date('1000-01-01','%Y-%m-%d') between NULL and '2000-00-00';
 
3342
select str_to_date('1000-01-01','%Y-%m-%d') between NULL and NULL;
3358
3343
###########################################################################
3359
3344
 
3360
3345
--echo
3454
3439
SELECT a FROM t1 ORDER BY a LIMIT 2,4294967296;
3455
3440
SELECT a FROM t1 ORDER BY a LIMIT 2,4294967297;
3456
3441
DROP TABLE t1;
3457
 
 
3458
 
#
3459
 
# MySQL Bug#33546: Slowdown on re-evaluation of constant expressions.
3460
 
#
3461
 
CREATE TABLE t1 (a INT);
3462
 
INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
3463
 
CREATE TABLE t2 (b INT);
3464
 
INSERT INTO t2 VALUES (2);
3465
 
SELECT * FROM t1 WHERE a = 1 + 1;
3466
 
EXPLAIN EXTENDED SELECT * FROM t1 WHERE a = 1 + 1;
3467
 
SELECT * FROM t1 HAVING a = 1 + 1;
3468
 
EXPLAIN EXTENDED SELECT * FROM t1 HAVING a = 1 + 1;
3469
 
SELECT * FROM t1, t2 WHERE a = b + (1 + 1);
3470
 
EXPLAIN EXTENDED SELECT * FROM t1, t2 WHERE a = b + (1 + 1);
3471
 
SELECT * FROM t2 LEFT JOIN t1 ON a = b + 1;
3472
 
EXPLAIN EXTENDED SELECT * FROM t2 LEFT JOIN t1 ON a = b + 1;
3473
 
EXPLAIN EXTENDED SELECT * FROM t1 WHERE a > UNIX_TIMESTAMP('2009-03-10 00:00:00');
3474
 
 
3475
 
DROP TABLE t1, t2;