~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/subselect.test

Giant merge.

Show diffs side-by-side

added added

removed removed

Lines of Context:
169
169
 
170
170
#searchconthardwarefr3 forumconthardwarefr7
171
171
CREATE TABLE `t1` (
172
 
  `topic` bigint(8) unsigned NOT NULL default '0',
 
172
  `topic` bigint unsigned NOT NULL default '0',
173
173
  `date` date NOT NULL default '0000-00-00',
174
174
  `pseudo` varchar(35) character set latin1 NOT NULL default '',
175
175
  PRIMARY KEY  (`pseudo`,`date`,`topic`),
189
189
 
190
190
#forumconthardwarefr7 searchconthardwarefr7
191
191
CREATE TABLE `t1` (
192
 
  `numeropost` bigint(8) unsigned NOT NULL auto_increment,
193
 
  `maxnumrep` int(10) unsigned NOT NULL default '0',
 
192
  `numeropost` bigint unsigned NOT NULL auto_increment,
 
193
  `maxnumrep` int unsigned NOT NULL default '0',
194
194
  PRIMARY KEY  (`numeropost`),
195
195
  UNIQUE KEY `maxnumrep` (`maxnumrep`)
196
196
) ENGINE=MyISAM ROW_FORMAT=FIXED;
199
199
 
200
200
CREATE TABLE `t2` (
201
201
      `mot` varchar(30) NOT NULL default '',
202
 
      `topic` bigint(8) unsigned NOT NULL default '0',
 
202
      `topic` bigint unsigned NOT NULL default '0',
203
203
      `date` date NOT NULL default '0000-00-00',
204
204
      `pseudo` varchar(35) NOT NULL default '',
205
205
       PRIMARY KEY  (`mot`,`pseudo`,`date`,`topic`)
232
232
 
233
233
#forumconthardwarefr7
234
234
CREATE TABLE `t1` (
235
 
  `numeropost` bigint(8) unsigned NOT NULL auto_increment,
236
 
  `maxnumrep` int(10) unsigned NOT NULL default '0',
 
235
  `numeropost` bigint unsigned NOT NULL auto_increment,
 
236
  `maxnumrep` int unsigned NOT NULL default '0',
237
237
  PRIMARY KEY  (`numeropost`),
238
238
  UNIQUE KEY `maxnumrep` (`maxnumrep`)
239
239
) ENGINE=MyISAM ROW_FORMAT=FIXED;
259
259
 
260
260
# threadhardwarefr7
261
261
CREATE TABLE `t1` (
262
 
  `numeropost` bigint(8) unsigned NOT NULL default '0',
263
 
  `numreponse` int(10) unsigned NOT NULL auto_increment,
 
262
  `numeropost` bigint unsigned NOT NULL default '0',
 
263
  `numreponse` int unsigned NOT NULL auto_increment,
264
264
  `pseudo` varchar(35) NOT NULL default '',
265
265
  PRIMARY KEY  (`numeropost`,`numreponse`),
266
266
  UNIQUE KEY `numreponse` (`numreponse`),
278
278
EXPLAIN EXTENDED SELECT numreponse FROM t1 WHERE numeropost='1' AND numreponse=(SELECT MAX(numreponse) FROM t1 WHERE numeropost='1');
279
279
drop table t1;
280
280
 
281
 
CREATE TABLE t1 (a int(1));
 
281
CREATE TABLE t1 (a int);
282
282
INSERT INTO t1 VALUES (1);
283
283
SELECT 1 FROM (SELECT a FROM t1) b HAVING (SELECT b.a)=1;
284
284
drop table t1;
391
391
-- error 1096
392
392
SELECT * FROM (SELECT 1) b WHERE 1 IN (SELECT *);
393
393
 
394
 
CREATE TABLE t2 (id int(11) default NULL, KEY id (id)) ENGINE=MyISAM CHARSET=latin1;
 
394
CREATE TABLE t2 (id int default NULL, KEY id (id)) ENGINE=MyISAM CHARSET=latin1;
395
395
INSERT INTO t2 VALUES (1),(2);
396
396
SELECT * FROM t2 WHERE id IN (SELECT 1);
397
397
EXPLAIN EXTENDED SELECT * FROM t2 WHERE id IN (SELECT 1);
406
406
-- error 1093
407
407
INSERT INTO t2 VALUES ((SELECT id FROM t2));
408
408
SELECT * FROM t2;
409
 
CREATE TABLE t1 (id int(11) default NULL, KEY id (id)) ENGINE=MyISAM CHARSET=latin1;
 
409
CREATE TABLE t1 (id int default NULL, KEY id (id)) ENGINE=MyISAM CHARSET=latin1;
410
410
INSERT INTO t1 values (1),(1);
411
411
-- error 1242
412
412
UPDATE t2 SET id=(SELECT * FROM t1);
462
462
# Null with keys
463
463
#
464
464
 
465
 
CREATE TABLE t1 (a int(11) NOT NULL default '0', PRIMARY KEY  (a));
466
 
CREATE TABLE t2 (a int(11) default '0', INDEX (a));
 
465
CREATE TABLE t1 (a int NOT NULL default '0', PRIMARY KEY  (a));
 
466
CREATE TABLE t2 (a int default '0', INDEX (a));
467
467
INSERT INTO t1 VALUES (1),(2),(3),(4);
468
468
INSERT INTO t2 VALUES (1),(2),(3);
469
469
SELECT t1.a, t1.a in (select t2.a from t2) FROM t1;
470
470
explain extended SELECT t1.a, t1.a in (select t2.a from t2) FROM t1;
471
 
CREATE TABLE t3 (a int(11) default '0');
 
471
CREATE TABLE t3 (a int default '0');
472
472
INSERT INTO t3 VALUES (1),(2),(3);
473
473
SELECT t1.a, t1.a in (select t2.a from t2,t3 where t3.a=t2.a) FROM t1;
474
474
explain extended SELECT t1.a, t1.a in (select t2.a from t2,t3 where t3.a=t2.a) FROM t1;
507
507
drop table t1;
508
508
 
509
509
#test of uncacheable subqueries
510
 
CREATE TABLE t1 (a int(1));
 
510
CREATE TABLE t1 (a int);
511
511
EXPLAIN EXTENDED SELECT (SELECT RAND() FROM t1) FROM t1;
512
512
EXPLAIN EXTENDED SELECT (SELECT ENCRYPT('test') FROM t1) FROM t1;
513
513
EXPLAIN EXTENDED SELECT (SELECT BENCHMARK(1,1) FROM t1) FROM t1;
516
516
 
517
517
CREATE TABLE `t1` (
518
518
  `mot` varchar(30) character set latin1 NOT NULL default '',
519
 
  `topic` bigint(8) unsigned NOT NULL default '0',
 
519
  `topic` bigint unsigned NOT NULL default '0',
520
520
  `date` date NOT NULL default '0000-00-00',
521
521
  `pseudo` varchar(35) character set latin1 NOT NULL default '',
522
522
  PRIMARY KEY  (`mot`,`pseudo`,`date`,`topic`),
526
526
 
527
527
CREATE TABLE `t2` (
528
528
  `mot` varchar(30) character set latin1 NOT NULL default '',
529
 
  `topic` bigint(8) unsigned NOT NULL default '0',
 
529
  `topic` bigint unsigned NOT NULL default '0',
530
530
  `date` date NOT NULL default '0000-00-00',
531
531
  `pseudo` varchar(35) character set latin1 NOT NULL default '',
532
532
  PRIMARY KEY  (`mot`,`pseudo`,`date`,`topic`),
535
535
) ENGINE=MyISAM CHARSET=latin1 ROW_FORMAT=DYNAMIC;
536
536
 
537
537
CREATE TABLE `t3` (
538
 
  `numeropost` bigint(8) unsigned NOT NULL auto_increment,
539
 
  `maxnumrep` int(10) unsigned NOT NULL default '0',
 
538
  `numeropost` bigint unsigned NOT NULL auto_increment,
 
539
  `maxnumrep` int unsigned NOT NULL default '0',
540
540
  PRIMARY KEY  (`numeropost`),
541
541
  UNIQUE KEY `maxnumrep` (`maxnumrep`)
542
542
) ENGINE=MyISAM CHARSET=latin1;
587
587
#
588
588
 
589
589
CREATE TABLE t1 (
590
 
  ID int(11) NOT NULL auto_increment,
 
590
  ID int NOT NULL auto_increment,
591
591
  name char(35) NOT NULL default '',
592
592
  t2 char(3) NOT NULL default '',
593
593
  District char(20) NOT NULL default '',
594
 
  Population int(11) NOT NULL default '0',
 
594
  Population int NOT NULL default '0',
595
595
  PRIMARY KEY  (ID)
596
596
) ENGINE=MyISAM;
597
597
 
605
605
  Continent enum('Asia','Europe','North America','Africa','Oceania','Antarctica','South America') NOT NULL default 'Asia',
606
606
  Region char(26) NOT NULL default '',
607
607
  SurfaceArea float(10,2) NOT NULL default '0.00',
608
 
  IndepYear smallint(6) default NULL,
609
 
  Population int(11) NOT NULL default '0',
 
608
  IndepYear smallint default NULL,
 
609
  Population int NOT NULL default '0',
610
610
  LifeExpectancy float(3,1) default NULL,
611
611
  GNP float(10,2) default NULL,
612
612
  GNPOld float(10,2) default NULL,
613
613
  LocalName char(45) NOT NULL default '',
614
614
  GovernmentForm char(45) NOT NULL default '',
615
615
  HeadOfState char(60) default NULL,
616
 
  Capital int(11) default NULL,
 
616
  Capital int default NULL,
617
617
  Code2 char(2) NOT NULL default '',
618
618
  PRIMARY KEY  (Code)
619
619
) ENGINE=MyISAM;
629
629
# constants in IN
630
630
#
631
631
CREATE TABLE `t1` (
632
 
  `id` bigint(8) unsigned NOT NULL auto_increment,
 
632
  `id` bigint unsigned NOT NULL auto_increment,
633
633
  `pseudo` varchar(35) character set latin1 NOT NULL default '',
634
634
  PRIMARY KEY  (`id`),
635
635
  UNIQUE KEY `pseudo` (`pseudo`)
643
643
drop table t1;
644
644
 
645
645
CREATE TABLE `t1` (
646
 
  `i` int(11) NOT NULL default '0',
 
646
  `i` int NOT NULL default '0',
647
647
  PRIMARY KEY  (`i`)
648
648
) ENGINE=MyISAM CHARSET=latin1;
649
649
 
659
659
# Multi update test
660
660
#
661
661
CREATE TABLE t1 (
662
 
  id int(11) default NULL
 
662
  id int default NULL
663
663
) ENGINE=MyISAM CHARSET=latin1;
664
664
INSERT INTO t1 VALUES (1),(1),(2),(2),(1),(3);
665
665
CREATE TABLE t2 (
666
 
  id int(11) default NULL,
 
666
  id int default NULL,
667
667
  name varchar(15) default NULL
668
668
) ENGINE=MyISAM CHARSET=latin1;
669
669
 
689
689
drop table t1;
690
690
 
691
691
CREATE TABLE t1 (
692
 
  ID int(10) unsigned NOT NULL auto_increment,
693
 
  SUB_ID int(3) unsigned NOT NULL default '0',
694
 
  REF_ID int(10) unsigned default NULL,
695
 
  REF_SUB int(3) unsigned default '0',
 
692
  ID int unsigned NOT NULL auto_increment,
 
693
  SUB_ID int unsigned NOT NULL default '0',
 
694
  REF_ID int unsigned default NULL,
 
695
  REF_SUB int unsigned default '0',
696
696
  PRIMARY KEY (ID,SUB_ID),
697
697
  UNIQUE KEY t1_PK (ID,SUB_ID),
698
698
  KEY t1_FK (REF_ID,REF_SUB),
721
721
#
722
722
 
723
723
CREATE TABLE `t1` (
724
 
  `id` bigint(8) unsigned NOT NULL auto_increment,
 
724
  `id` bigint unsigned NOT NULL auto_increment,
725
725
  `pseudo` varchar(35) NOT NULL default '',
726
726
  `email` varchar(60) NOT NULL default '',
727
727
  PRIMARY KEY  (`id`),
900
900
# correct used_tables()
901
901
#
902
902
 
903
 
CREATE TABLE `t1` ( `id` bigint(9) NOT NULL auto_increment, `taskid` bigint(20) NOT NULL default '0', `dbid` int(11) NOT NULL default '0', `create_date` datetime NOT NULL default '0000-00-00 00:00:00', `last_update` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY  (`id`)) ENGINE=MyISAM CHARSET=latin1 AUTO_INCREMENT=3 ;
 
903
CREATE TABLE `t1` ( `id` bigint NOT NULL auto_increment, `taskid` bigint NOT NULL default '0', `dbid` int NOT NULL default '0', `create_date` datetime NOT NULL default '0000-00-00 00:00:00', `last_update` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY  (`id`)) ENGINE=MyISAM CHARSET=latin1 AUTO_INCREMENT=3 ;
904
904
INSERT INTO `t1` (`id`, `taskid`, `dbid`, `create_date`,`last_update`) VALUES (1, 1, 15, '2003-09-29 10:31:36', '2003-09-29 10:31:36'), (2, 1, 21, now(), now());
905
 
CREATE TABLE `t2` (`db_id` int(11) NOT NULL auto_increment,`name` varchar(200) NOT NULL default '',`primary_uid` smallint(6) NOT NULL default '0',`secondary_uid` smallint(6) NOT NULL default '0',PRIMARY KEY  (`db_id`),UNIQUE KEY `name_2` (`name`)) ENGINE=MyISAM CHARSET=latin1 AUTO_INCREMENT=2147483647;
 
905
CREATE TABLE `t2` (`db_id` int NOT NULL auto_increment,`name` varchar(200) NOT NULL default '',`primary_uid` smallint NOT NULL default '0',`secondary_uid` smallint NOT NULL default '0',PRIMARY KEY  (`db_id`),UNIQUE KEY `name_2` (`name`)) ENGINE=MyISAM CHARSET=latin1 AUTO_INCREMENT=2147483647;
906
906
INSERT INTO `t2` (`db_id`, `name`, `primary_uid`, `secondary_uid`) VALUES (18, 'Not Set 1', 0, 0),(19, 'Valid', 1, 2),(20, 'Valid 2', 1, 2),(21, 'Should Not Return', 1, 2),(26, 'Not Set 2', 0, 0),(-1, 'ALL DB\'S', 0, 0);
907
 
CREATE TABLE `t3` (`taskgenid` bigint(9) NOT NULL auto_increment,`dbid` int(11) NOT NULL default '0',`taskid` int(11) NOT NULL default '0',`mon` tinyint(4) NOT NULL default '1',`tues` tinyint(4) NOT NULL default '1',`wed` tinyint(4) NOT NULL default '1',`thur` tinyint(4) NOT NULL default '1',`fri` tinyint(4) NOT NULL default '1',`sat` tinyint(4) NOT NULL default '0',`sun` tinyint(4) NOT NULL default '0',`how_often` smallint(6) NOT NULL default '1',`userid` smallint(6) NOT NULL default '0',`active` tinyint(4) NOT NULL default '1',PRIMARY KEY  (`taskgenid`)) ENGINE=MyISAM CHARSET=latin1 AUTO_INCREMENT=2 ;
 
907
CREATE TABLE `t3` (`taskgenid` bigint NOT NULL auto_increment,`dbid` int NOT NULL default '0',`taskid` int NOT NULL default '0',`mon` tinyint NOT NULL default '1',`tues` tinyint NOT NULL default '1',`wed` tinyint NOT NULL default '1',`thur` tinyint NOT NULL default '1',`fri` tinyint NOT NULL default '1',`sat` tinyint NOT NULL default '0',`sun` tinyint NOT NULL default '0',`how_often` smallint NOT NULL default '1',`userid` smallint NOT NULL default '0',`active` tinyint NOT NULL default '1',PRIMARY KEY  (`taskgenid`)) ENGINE=MyISAM CHARSET=latin1 AUTO_INCREMENT=2 ;
908
908
INSERT INTO `t3` (`taskgenid`, `dbid`, `taskid`, `mon`, `tues`,`wed`, `thur`, `fri`, `sat`, `sun`, `how_often`, `userid`, `active`) VALUES (1,-1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1);
909
 
CREATE TABLE `t4` (`task_id` smallint(6) NOT NULL default '0',`description` varchar(200) NOT NULL default '') ENGINE=MyISAM CHARSET=latin1;
 
909
CREATE TABLE `t4` (`task_id` smallint NOT NULL default '0',`description` varchar(200) NOT NULL default '') ENGINE=MyISAM CHARSET=latin1;
910
910
INSERT INTO `t4` (`task_id`, `description`) VALUES (1, 'Daily Check List'),(2, 'Weekly Status');
911
911
select  dbid, name, (date_format(now() , '%Y-%m-%d') - INTERVAL how_often DAY) >= ifnull((SELECT date_format(max(create_date),'%Y-%m-%d') FROM t1 WHERE dbid = b.db_id AND taskid = a.taskgenid), '1950-01-01') from t3 a, t2 b, t4  WHERE dbid = - 1 AND primary_uid = '1' AND t4.task_id = taskid;
912
912
SELECT dbid, name FROM t3 a, t2 b, t4 WHERE dbid = - 1 AND primary_uid = '1' AND ((date_format(now() , '%Y-%m-%d') - INTERVAL how_often DAY) >= ifnull((SELECT date_format(max(create_date),'%Y-%m-%d') FROM t1 WHERE dbid = b.db_id AND taskid = a.taskgenid), '1950-01-01')) AND t4.task_id = taskid;
915
915
#
916
916
# cardinality check
917
917
#
918
 
CREATE TABLE t1 (id int(11) default NULL) ENGINE=MyISAM CHARSET=latin1;
 
918
CREATE TABLE t1 (id int default NULL) ENGINE=MyISAM CHARSET=latin1;
919
919
INSERT INTO t1 VALUES (1),(5);
920
 
CREATE TABLE t2 (id int(11) default NULL) ENGINE=MyISAM CHARSET=latin1;
 
920
CREATE TABLE t2 (id int default NULL) ENGINE=MyISAM CHARSET=latin1;
921
921
INSERT INTO t2 VALUES (2),(6);
922
922
-- error 1241
923
923
select * from t1 where (1,2,6) in (select * from t2);
966
966
SELECT DISTINCT COLC FROM t1 WHERE COLA = (SELECT COLA FROM t2 WHERE COLB = 200 AND COLC ='C' LIMIT 1);
967
967
DROP TABLE t1, t2;
968
968
 
969
 
CREATE TABLE t1 (a int(1));
 
969
CREATE TABLE t1 (a int);
970
970
INSERT INTO t1 VALUES (1),(1),(1),(1),(1),(2),(3),(4),(5);
971
971
SELECT DISTINCT (SELECT a) FROM t1 LIMIT 100;
972
972
DROP TABLE t1;
976
976
#
977
977
 
978
978
CREATE TABLE `t1` (
979
 
  `id` int(11) NOT NULL auto_increment,
980
 
  `id_cns` tinyint(3) unsigned NOT NULL default '0',
 
979
  `id` int NOT NULL auto_increment,
 
980
  `id_cns` tinyint unsigned NOT NULL default '0',
981
981
  `tipo` enum('','UNO','DUE') NOT NULL default '',
982
 
  `anno_dep` smallint(4) unsigned NOT NULL default '0',
983
 
  `particolare` bigint(8) unsigned NOT NULL default '0',
984
 
  `generale` bigint(8) unsigned NOT NULL default '0',
985
 
  `bis` tinyint(3) unsigned NOT NULL default '0',
 
982
  `anno_dep` smallint unsigned NOT NULL default '0',
 
983
  `particolare` bigint unsigned NOT NULL default '0',
 
984
  `generale` bigint unsigned NOT NULL default '0',
 
985
  `bis` tinyint unsigned NOT NULL default '0',
986
986
  PRIMARY KEY  (`id`),
987
987
  UNIQUE KEY `idx_cns_gen_anno` (`anno_dep`,`id_cns`,`generale`,`particolare`),
988
988
  UNIQUE KEY `idx_cns_par_anno` (`id_cns`,`anno_dep`,`tipo`,`particolare`,`bis`)
989
989
);
990
990
INSERT INTO `t1` VALUES (1,16,'UNO',1987,2048,9681,0),(2,50,'UNO',1987,1536,13987,0),(3,16,'UNO',1987,2432,14594,0),(4,16,'UNO',1987,1792,13422,0),(5,16,'UNO',1987,1025,10240,0),(6,16,'UNO',1987,1026,7089,0);
991
991
CREATE TABLE `t2` (
992
 
  `id` tinyint(3) unsigned NOT NULL auto_increment,
993
 
  `max_anno_dep` smallint(6) unsigned NOT NULL default '0',
 
992
  `id` tinyint unsigned NOT NULL auto_increment,
 
993
  `max_anno_dep` smallint unsigned NOT NULL default '0',
994
994
  PRIMARY KEY  (`id`)
995
995
);
996
996
INSERT INTO `t2` VALUES (16,1987),(50,1990),(51,1990);
1268
1268
# Test problem with NULL and derived tables (Bug #4097)
1269
1269
#
1270
1270
 
1271
 
CREATE TABLE t1 (id int(11) default NULL,name varchar(10) default NULL);
 
1271
CREATE TABLE t1 (id int default NULL,name varchar(10) default NULL);
1272
1272
INSERT INTO t1 VALUES (1,'Tim'),(2,'Rebecca'),(3,NULL);
1273
 
CREATE TABLE t2 (id int(11) default NULL, pet varchar(10) default NULL);
 
1273
CREATE TABLE t2 (id int default NULL, pet varchar(10) default NULL);
1274
1274
INSERT INTO t2 VALUES (1,'Fido'),(2,'Spot'),(3,'Felix');
1275
1275
SELECT a.*, b.* FROM (SELECT * FROM t1) AS a JOIN t2 as b on a.id=b.id;
1276
1276
drop table t1,t2;
1278
1278
#
1279
1279
# Aggregate function comparation with ALL/ANY/SOME subselect
1280
1280
#
1281
 
CREATE TABLE `t1` ( `a` int(11) default NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;
 
1281
CREATE TABLE `t1` ( `a` int default NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;
1282
1282
insert into t1 values (1);
1283
 
CREATE TABLE `t2` ( `b` int(11) default NULL, `a` int(11) default NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;
 
1283
CREATE TABLE `t2` ( `b` int default NULL, `a` int default NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;
1284
1284
insert into t2 values (1,2);
1285
1285
select t000.a, count(*) `C` FROM t1 t000 GROUP BY t000.a HAVING count(*) > ALL (SELECT count(*) FROM t2 t001 WHERE t001.a=1);
1286
1286
drop table t1,t2;
1300
1300
#
1301
1301
# Optimized IN with compound index
1302
1302
#
1303
 
CREATE TABLE `t1` ( `aid` int(11) NOT NULL default '0', `bid` int(11) NOT NULL default '0', PRIMARY KEY  (`aid`,`bid`));
1304
 
CREATE TABLE `t2` ( `aid` int(11) NOT NULL default '0', `bid` int(11) NOT NULL default '0', PRIMARY KEY  (`aid`,`bid`));
 
1303
CREATE TABLE `t1` ( `aid` int NOT NULL default '0', `bid` int NOT NULL default '0', PRIMARY KEY  (`aid`,`bid`));
 
1304
CREATE TABLE `t2` ( `aid` int NOT NULL default '0', `bid` int NOT NULL default '0', PRIMARY KEY  (`aid`,`bid`));
1305
1305
insert into t1 values (1,1),(1,2),(2,1),(2,2);
1306
1306
insert into t2 values (1,2),(2,2);
1307
1307
select * from t1 where t1.aid not in (select aid from t2 where bid=t1.bid);
1334
1334
# Test of correct maybe_null flag returning by subquwery for temporary table
1335
1335
# creation
1336
1336
#
1337
 
CREATE TABLE `t1` ( `master` int(10) unsigned NOT NULL default '0', `map` smallint(6) unsigned NOT NULL default '0', `slave` int(10) unsigned NOT NULL default '0', `access` int(10) unsigned NOT NULL default '0', UNIQUE KEY `access_u` (`master`,`map`,`slave`));
 
1337
CREATE TABLE `t1` ( `master` int unsigned NOT NULL default '0', `map` smallint unsigned NOT NULL default '0', `slave` int unsigned NOT NULL default '0', `access` int unsigned NOT NULL default '0', UNIQUE KEY `access_u` (`master`,`map`,`slave`));
1338
1338
INSERT INTO `t1` VALUES (1,0,0,700),(1,1,1,400),(1,5,5,400),(1,12,12,400),(1,12,32,400),(4,12,32,400);
1339
 
CREATE TABLE `t2` ( `id` int(10) unsigned NOT NULL default '0', `pid` int(10) unsigned NOT NULL default '0', `map` smallint(6) unsigned NOT NULL default '0', `level` tinyint(4) unsigned NOT NULL default '0', `title` varchar(255) default NULL, PRIMARY KEY  (`id`,`pid`,`map`), KEY `level` (`level`), KEY `id` (`id`,`map`)) ;
 
1339
CREATE TABLE `t2` ( `id` int unsigned NOT NULL default '0', `pid` int unsigned NOT NULL default '0', `map` smallint unsigned NOT NULL default '0', `level` tinyint unsigned NOT NULL default '0', `title` varchar(255) default NULL, PRIMARY KEY  (`id`,`pid`,`map`), KEY `level` (`level`), KEY `id` (`id`,`map`)) ;
1340
1340
INSERT INTO `t2` VALUES (6,5,12,7,'a'),(12,0,0,7,'a'),(12,1,0,7,'a'),(12,5,5,7,'a'),(12,5,12,7,'a');
1341
1341
-- error 1054
1342
1342
SELECT b.sc FROM (SELECT (SELECT a.access FROM t1 a WHERE a.map = op.map AND a.slave = op.pid AND a.master = 1) ac FROM t2 op WHERE op.id = 12 AND op.map = 0) b;
1386
1386
  Continent enum('Asia','Europe','North America','Africa','Oceania','Antarctica','South America') NOT NULL default 'Asia',
1387
1387
  Region char(26) NOT NULL default '',
1388
1388
  SurfaceArea float(10,2) NOT NULL default '0.00',
1389
 
  IndepYear smallint(6) default NULL,
1390
 
  Population int(11) NOT NULL default '0',
 
1389
  IndepYear smallint default NULL,
 
1390
  Population int NOT NULL default '0',
1391
1391
  LifeExpectancy float(3,1) default NULL,
1392
1392
  GNP float(10,2) default NULL,
1393
1393
  GNPOld float(10,2) default NULL,
1394
1394
  LocalName char(45) NOT NULL default '',
1395
1395
  GovernmentForm char(45) NOT NULL default '',
1396
1396
  HeadOfState char(60) default NULL,
1397
 
  Capital int(11) default NULL,
 
1397
  Capital int default NULL,
1398
1398
  Code2 char(2) NOT NULL default ''
1399
1399
) ENGINE=MyISAM;
1400
1400
INSERT INTO t1 VALUES ('XXX','Xxxxx','Oceania','Xxxxxx',26.00,0,0,0,0,0,'Xxxxx','Xxxxx','Xxxxx',NULL,'XX');
1460
1460
# Test for BUG#8218
1461
1461
#
1462
1462
CREATE TABLE t1 (
1463
 
  categoryId int(11) NOT NULL,
1464
 
  courseId int(11) NOT NULL,
 
1463
  categoryId int NOT NULL,
 
1464
  courseId int NOT NULL,
1465
1465
  startDate datetime NOT NULL,
1466
1466
  endDate datetime NOT NULL,
1467
1467
  createDate datetime NOT NULL,
1479
1479
(5,12,'2004-02-18','2010-01-01','2004-02-18','2004-02-18','');
1480
1480
 
1481
1481
CREATE TABLE t2 (
1482
 
  userId int(11) NOT NULL,
1483
 
  courseId int(11) NOT NULL,
 
1482
  userId int NOT NULL,
 
1483
  courseId int NOT NULL,
1484
1484
  date datetime NOT NULL
1485
1485
);
1486
1486
INSERT INTO t2 VALUES (5141,71,'2003-11-18'),
1492
1492
 
1493
1493
 
1494
1494
CREATE TABLE t3 (
1495
 
  groupId int(11) NOT NULL,
1496
 
  parentId int(11) NOT NULL,
 
1495
  groupId int NOT NULL,
 
1496
  parentId int NOT NULL,
1497
1497
  startDate datetime NOT NULL,
1498
1498
  endDate datetime NOT NULL,
1499
1499
  createDate datetime NOT NULL,
1500
1500
  modifyDate timestamp NOT NULL,
1501
 
  ordering int(11)
 
1501
  ordering int
1502
1502
);
1503
1503
INSERT INTO t3 VALUES (12,9,'1000-01-01','3999-12-31','2004-01-29','2004-01-29',NULL);
1504
1504
 
1505
1505
CREATE TABLE t4 (
1506
 
  id int(11) NOT NULL,
1507
 
  groupTypeId int(11) NOT NULL,
 
1506
  id int NOT NULL,
 
1507
  groupTypeId int NOT NULL,
1508
1508
  groupKey varchar(50) NOT NULL,
1509
1509
  name text,
1510
 
  ordering int(11),
 
1510
  ordering int,
1511
1511
  description text,
1512
1512
  createDate datetime NOT NULL,
1513
1513
  modifyDate timestamp NOT NULL
1516
1516
(12,5,'group2','group2',0,'group2','2004-01-29','2004-01-29');
1517
1517
 
1518
1518
CREATE TABLE t5 (
1519
 
  userId int(11) NOT NULL,
1520
 
  groupId int(11) NOT NULL,
 
1519
  userId int NOT NULL,
 
1520
  groupId int NOT NULL,
1521
1521
  createDate datetime NOT NULL,
1522
1522
  modifyDate timestamp NOT NULL
1523
1523
);
1588
1588
# Item_int_with_ref check (BUG#10020)
1589
1589
#
1590
1590
CREATE TABLE `t1` (
1591
 
  `itemid` bigint(20) unsigned NOT NULL auto_increment,
1592
 
  `sessionid` bigint(20) unsigned default NULL,
1593
 
  `time` int(10) unsigned NOT NULL default '0',
 
1591
  `itemid` bigint unsigned NOT NULL auto_increment,
 
1592
  `sessionid` bigint unsigned default NULL,
 
1593
  `time` int unsigned NOT NULL default '0',
1594
1594
  `type` set('A','D','E','F','G','I','L','N','U') collate latin1_general_ci NOT
1595
1595
NULL default '',
1596
1596
  `data` text collate latin1_general_ci NOT NULL,
1598
1598
) DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
1599
1599
INSERT INTO `t1` VALUES (1, 1, 1, 'D', '');
1600
1600
CREATE TABLE `t2` (
1601
 
  `sessionid` bigint(20) unsigned NOT NULL auto_increment,
1602
 
  `pid` int(10) unsigned NOT NULL default '0',
1603
 
  `date` int(10) unsigned NOT NULL default '0',
 
1601
  `sessionid` bigint unsigned NOT NULL auto_increment,
 
1602
  `pid` int unsigned NOT NULL default '0',
 
1603
  `date` int unsigned NOT NULL default '0',
1604
1604
  `ip` varchar(15) collate latin1_general_ci NOT NULL default '',
1605
1605
  PRIMARY KEY  (`sessionid`)
1606
1606
) DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
1711
1711
#
1712
1712
create table t1 (
1713
1713
  retailerID varchar(8) NOT NULL,
1714
 
  statusID   int(10) unsigned NOT NULL,
 
1714
  statusID   int unsigned NOT NULL,
1715
1715
  changed    datetime NOT NULL,
1716
1716
  UNIQUE KEY retailerID (retailerID, statusID, changed)
1717
1717
);
1902
1902
drop table t1;
1903
1903
 
1904
1904
CREATE TABLE t1 (
1905
 
  grp int(11) default NULL,
 
1905
  grp int default NULL,
1906
1906
  a decimal(10,2) default NULL);
1907
1907
 
1908
1908
insert into t1 values (1, 1), (2, 2), (2, 3), (3, 4), (3, 5), (3, 6), (NULL, NULL);
1959
1959
# Item_int_with_ref check (BUG#10020)
1960
1960
#
1961
1961
CREATE TABLE `t1` (
1962
 
  `itemid` bigint(20) unsigned NOT NULL auto_increment,
1963
 
  `sessionid` bigint(20) unsigned default NULL,
1964
 
  `time` int(10) unsigned NOT NULL default '0',
 
1962
  `itemid` bigint unsigned NOT NULL auto_increment,
 
1963
  `sessionid` bigint unsigned default NULL,
 
1964
  `time` int unsigned NOT NULL default '0',
1965
1965
  `type` set('A','D','E','F','G','I','L','N','U') collate latin1_general_ci NOT
1966
1966
NULL default '',
1967
1967
  `data` text collate latin1_general_ci NOT NULL,
1969
1969
) DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
1970
1970
INSERT INTO `t1` VALUES (1, 1, 1, 'D', '');
1971
1971
CREATE TABLE `t2` (
1972
 
  `sessionid` bigint(20) unsigned NOT NULL auto_increment,
1973
 
  `pid` int(10) unsigned NOT NULL default '0',
1974
 
  `date` int(10) unsigned NOT NULL default '0',
 
1972
  `sessionid` bigint unsigned NOT NULL auto_increment,
 
1973
  `pid` int unsigned NOT NULL default '0',
 
1974
  `date` int unsigned NOT NULL default '0',
1975
1975
  `ip` varchar(15) collate latin1_general_ci NOT NULL default '',
1976
1976
  PRIMARY KEY  (`sessionid`)
1977
1977
) DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
2184
2184
#
2185
2185
 
2186
2186
CREATE TABLE t1 (
2187
 
  id bigint(20) unsigned NOT NULL auto_increment,
 
2187
  id bigint unsigned NOT NULL auto_increment,
2188
2188
  name varchar(255) NOT NULL,
2189
2189
  PRIMARY KEY  (id)
2190
2190
);
2192
2192
  (1, 'Balazs'), (2, 'Joe'), (3, 'Frank');
2193
2193
 
2194
2194
CREATE TABLE t2 (
2195
 
  id bigint(20) unsigned NOT NULL auto_increment,
2196
 
  mid bigint(20) unsigned NOT NULL,
 
2195
  id bigint unsigned NOT NULL auto_increment,
 
2196
  mid bigint unsigned NOT NULL,
2197
2197
  date date NOT NULL,
2198
2198
  PRIMARY KEY  (id)
2199
2199
);
2224
2224
#
2225
2225
 
2226
2226
CREATE TABLE t1 (
2227
 
  i1 int(11) NOT NULL default '0',
2228
 
  i2 int(11) NOT NULL default '0',
 
2227
  i1 int NOT NULL default '0',
 
2228
  i2 int NOT NULL default '0',
2229
2229
  t datetime NOT NULL default '0000-00-00 00:00:00',
2230
2230
  PRIMARY KEY  (i1,i2,t)
2231
2231
);
2238
2238
(24,2,'2005-05-27 12:40:06');
2239
2239
 
2240
2240
CREATE TABLE t2 (
2241
 
  i1 int(11) NOT NULL default '0',
2242
 
  i2 int(11) NOT NULL default '0',
 
2241
  i1 int NOT NULL default '0',
 
2242
  i2 int NOT NULL default '0',
2243
2243
  t datetime default NULL,
2244
2244
  PRIMARY KEY  (i1)
2245
2245
);
2392
2392
--enable_warnings
2393
2393
 
2394
2394
CREATE TABLE t1 (
2395
 
  id_1 int(5) NOT NULL,
 
2395
  id_1 int NOT NULL,
2396
2396
  t varchar(4) DEFAULT NULL
2397
2397
);
2398
2398
 
2399
2399
CREATE TABLE t2 (
2400
 
  id_2 int(5) NOT NULL,
 
2400
  id_2 int NOT NULL,
2401
2401
  t varchar(4) DEFAULT NULL
2402
2402
);
2403
2403
 
2404
2404
CREATE TABLE t1xt2 (
2405
 
  id_1 int(5) NOT NULL,
2406
 
  id_2 int(5) NOT NULL
 
2405
  id_1 int NOT NULL,
 
2406
  id_2 int NOT NULL
2407
2407
);
2408
2408
 
2409
2409
INSERT INTO t1 VALUES (1, 'a'), (2, 'b'), (3, 'c'), (4, 'd');
2731
2731
DROP TABLE t1, t2;
2732
2732
 
2733
2733
#
2734
 
# Bug #28076: inconsistent binary/varbinary comparison
2735
 
#
2736
 
 
2737
 
CREATE TABLE t1 (s1 BINARY(5), s2 VARBINARY(5));
2738
 
INSERT INTO t1 VALUES (0x41,0x41), (0x42,0x42), (0x43,0x43);
2739
 
 
2740
 
SELECT s1, s2 FROM t1 WHERE s2 IN (SELECT s1 FROM t1);
2741
 
SELECT s1, s2 FROM t1 WHERE (s2, 10) IN (SELECT s1, 10 FROM t1);
2742
 
 
2743
 
CREATE INDEX I1 ON t1 (s1);
2744
 
CREATE INDEX I2 ON t1 (s2);
2745
 
 
2746
 
SELECT s1, s2 FROM t1 WHERE s2 IN (SELECT s1 FROM t1);
2747
 
SELECT s1, s2 FROM t1 WHERE (s2, 10) IN (SELECT s1, 10 FROM t1);
2748
 
 
2749
 
TRUNCATE t1;
2750
 
INSERT INTO t1 VALUES (0x41,0x41);
2751
 
SELECT * FROM t1 WHERE s1 = (SELECT s2 FROM t1);
2752
 
 
2753
 
DROP TABLE t1;
2754
 
 
2755
 
CREATE TABLE t1 (a1 VARBINARY(2) NOT NULL DEFAULT '0', PRIMARY KEY (a1));
2756
 
CREATE TABLE t2 (a2 BINARY(2) default '0', INDEX (a2));
2757
 
CREATE TABLE t3 (a3 BINARY(2) default '0');
2758
 
INSERT INTO t1 VALUES (1),(2),(3),(4);
2759
 
INSERT INTO t2 VALUES (1),(2),(3);
2760
 
INSERT INTO t3 VALUES (1),(2),(3);
2761
 
SELECT LEFT(t2.a2, 1) FROM t2,t3 WHERE t3.a3=t2.a2;
2762
 
SELECT t1.a1, t1.a1 in (SELECT t2.a2 FROM t2,t3 WHERE t3.a3=t2.a2) FROM t1;
2763
 
DROP TABLE t1,t2,t3;
2764
 
 
2765
 
CREATE TABLE t1 (a1 BINARY(3) PRIMARY KEY, b1 VARBINARY(3));
2766
 
CREATE TABLE t2 (a2 VARBINARY(3) PRIMARY KEY);
2767
 
CREATE TABLE t3 (a3 VARBINARY(3) PRIMARY KEY);
2768
 
INSERT INTO t1 VALUES (1,10), (2,20), (3,30), (4,40);
2769
 
INSERT INTO t2 VALUES (2), (3), (4), (5);
2770
 
INSERT INTO t3 VALUES (10), (20), (30);
2771
 
SELECT LEFT(t1.a1,1) FROM t1,t3 WHERE t1.b1=t3.a3;
2772
 
SELECT a2 FROM t2 WHERE t2.a2 IN (SELECT t1.a1 FROM t1,t3 WHERE t1.b1=t3.a3);
2773
 
DROP TABLE t1, t2, t3;
2774
 
 
2775
 
#
2776
2734
# Bug #30788: Inconsistent retrieval of char/varchar
2777
2735
#
2778
2736