~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/select.test

  • Committer: Olaf van der Spek
  • Date: 2011-06-23 11:44:30 UTC
  • mto: This revision was merged to the branch mainline in revision 2348.
  • Revision ID: olafvdspek@gmail.com-20110623114430-no355yypk4y3icqb
Refactor

Show diffs side-by-side

added added

removed removed

Lines of Context:
1297
1297
# The next should give an error
1298
1298
#
1299
1299
 
1300
 
#-- error 1176
 
1300
#-- error ER_KEY_DOES_NOT_EXITS
1301
1301
#explain select fld3 from t2 ignore index (fld3,not_used);
1302
 
#-- error 1176
 
1302
#-- error ER_KEY_DOES_NOT_EXITS
1303
1303
#explain select fld3 from t2 use index (not_used);
1304
1304
 
1305
1305
#
1534
1534
# Full join (same alias)
1535
1535
#
1536
1536
 
1537
 
select * from t1,t1 t12;
 
1537
select * from t1 CROSS JOIN t1 t12;
1538
1538
--sorted_result
1539
1539
select t2.fld1,t22.fld1 from t2,t2 t22 where t2.fld1 >= 250501 and t2.fld1 <= 250505 and t22.fld1 >= 250501 and t22.fld1 <= 250505;
1540
1540
 
1746
1746
# Test of alias
1747
1747
#
1748
1748
 
1749
 
select t1.period from t3 = t1 limit 1;
1750
1749
select t1.period from t1 as t1 limit 1;
1751
1750
select t1.period as "Nuvarande period" from t1 as t1 limit 1;
1752
1751
select period as ok_period from t1 limit 1;
2487
2486
INSERT INTO t1 VALUES (1),(2),(3);
2488
2487
INSERT INTO t2 VALUES (2);
2489
2488
INSERT INTO t3 VALUES (3);
 
2489
--error ER_NON_UNIQ_ERROR
2490
2490
SELECT t1.id,t3.id FROM t1 JOIN t2 ON (t2.id=t1.id) LEFT JOIN t3 USING (id);
 
2491
--error ER_NON_UNIQ_ERROR
2491
2492
SELECT t1.id,t3.id FROM t1 JOIN t2 ON (t2.notacolumn=t1.id) LEFT JOIN t3 USING (id);
 
2493
--error ER_NON_UNIQ_ERROR
2492
2494
SELECT id,t3.id FROM t1 JOIN t2 ON (t2.id=t1.id) LEFT JOIN t3 USING (id);
 
2495
--error ER_NON_UNIQ_ERROR
2493
2496
SELECT id,t3.id FROM (t1 JOIN t2 ON (t2.id=t1.id)) LEFT JOIN t3 USING (id);
2494
2497
 
2495
2498
drop table t1, t2, t3;
2528
2527
select * from t1 join t2 join t3 on (t2.b = t3.b and t1.a = t3.a);
2529
2528
# Notice that ',' has lower priority than 'join', thus we have that:
2530
2529
# t1, t2 join t3 <==> t1, (t2 join t3).
 
2530
--error ER_BAD_FIELD_ERROR
2531
2531
select * from t1, t2 join t3 on (t2.b = t3.b and t1.a = t3.a);
2532
2532
select * from t1 join t2 join t3 join t4 on (t1.a = t4.c and t2.b = t4.c);
2533
2533
select * from t1 join t2 join t4 using (c);
2589
2588
insert into t1 values(1,'2005-01-01'),(2,'2005-09-01'),(3,'2005-09-30'),
2590
2589
  (4,'2005-10-01'),(5,'2005-12-30');
2591
2590
# should return all records
2592
 
--error ER_INVALID_DATETIME_VALUE # Bad date
 
2591
--error ER_INVALID_DATE_VALUE # Bad date
2593
2592
select * from t1 where f2 >= 0            order by f2;
2594
2593
--error ER_INVALID_DATETIME_VALUE # Bad date
2595
2594
select * from t1 where f2 >= '0000-00-00' order by f2;
2720
2719
create table t1 (a int);
2721
2720
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
2722
2721
create table t2 (a int, b int, c int, e int, primary key(a,b,c));
2723
 
insert into t2 select A.a, B.a, C.a, C.a from t1 A, t1 B, t1 C;
 
2722
insert into t2 select A.a, B.a, C.a, C.a from t1 A CROSS JOIN t1 B CROSS JOIN t1 C;
2724
2723
analyze table t2;
2725
2724
select 'In next EXPLAIN, B.rows must be exactly 10:' Z;
2726
2725
 
3278
3277
                 KEY (c33, c34, c32));
3279
3278
 
3280
3279
INSERT INTO t1 values (),(),(),(),();
3281
 
INSERT INTO t2 SELECT a.c11, b.c11 FROM t1 a, t1 b;
 
3280
INSERT INTO t2 SELECT a.c11, b.c11 FROM t1 a CROSS JOIN t1 b;
3282
3281
INSERT INTO t3 VALUES (1, 1, 1, 0), 
3283
3282
                      (2, 2, 0, 0), 
3284
3283
                      (3, 3, 1, 0),