~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/join.test

  • Committer: Brian Aker
  • Date: 2010-10-28 17:12:01 UTC
  • mfrom: (1887.1.3 merge)
  • Revision ID: brian@tangent.org-20101028171201-baj6l1bnntn1s4ad
Merge in POTFILES changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
CREATE TABLE t2 (S1 INT);
13
13
INSERT INTO t1 VALUES (1);
14
14
INSERT INTO t2 VALUES (2);
15
 
--error ER_CARTESIAN_JOIN_ATTEMPTED
16
15
SELECT * FROM t1 JOIN t2;
17
 
--error ER_CARTESIAN_JOIN_ATTEMPTED
18
16
SELECT * FROM t1 INNER JOIN t2;
19
17
SELECT * from t1 JOIN t2 USING (S1);
20
18
SELECT * FROM t1 INNER JOIN t2 USING (S1);
69
67
  count int DEFAULT '0' NOT NULL,
70
68
  qty int,
71
69
  phone char(1) DEFAULT '' NOT NULL,
72
 
  timestamp_arg datetime,
 
70
  timestamp datetime,
73
71
  PRIMARY KEY (id),
74
72
  KEY token (token(15)),
75
 
  KEY timestamp_arg (timestamp_arg),
 
73
  KEY timestamp (timestamp),
76
74
  UNIQUE token_2 (token(75),count,phone)
77
75
);
78
76
 
301
299
CREATE TABLE t1 (a int);
302
300
CREATE TABLE t2 (b int);
303
301
CREATE TABLE t3 (c int);
304
 
--error ER_CARTESIAN_JOIN_ATTEMPTED
305
302
SELECT * FROM t1 NATURAL JOIN t2 NATURAL JOIN t3;
306
303
DROP TABLE t1, t2, t3;
307
304
 
492
489
# Negative tests (tests for errors)
493
490
#--------------------------------------------------------------------
494
491
# works in Oracle - bug
495
 
--error ER_NON_UNIQ_ERROR
 
492
-- error 1052
496
493
select * from t1 natural join (t3 cross join t4);
497
494
# works in Oracle - bug
498
 
--error ER_NON_UNIQ_ERROR
 
495
-- error 1052
499
496
select * from (t3 cross join t4) natural join t1;
500
 
--error ER_NON_UNIQ_ERROR
 
497
-- error 1052
501
498
select * from t1 join (t2, t3) using (b);
502
 
--error ER_NON_UNIQ_ERROR
503
 
select * from ((t1 natural join t2), (t3 natural join t4)) natural join t6;
504
 
--error ER_NON_UNIQ_ERROR
505
 
select * from ((t1 natural join t2), (t3 natural join t4)) natural join t6;
506
 
--error ER_NON_UNIQ_ERROR
 
499
-- error 1052
 
500
select * from ((t1 natural join t2), (t3 natural join t4)) natural join t6;
 
501
-- error 1052
 
502
select * from ((t1 natural join t2), (t3 natural join t4)) natural join t6;
 
503
-- error 1052
507
504
select * from t6 natural join ((t1 natural join t2),  (t3 natural join t4));
508
 
--error ER_NON_UNIQ_ERROR
 
505
-- error 1052
509
506
select * from (t1 join t2 on t1.b=t2.b) natural join (t3 natural join t4);
510
 
--error ER_NON_UNIQ_ERROR
 
507
-- error 1052
511
508
select * from  (t3 natural join t4) natural join (t1 join t2 on t1.b=t2.b);
512
509
# this one is OK, the next equivalent one is incorrect (bug in Oracle)
513
 
--error ER_NON_UNIQ_ERROR
 
510
-- error 1052
514
511
select * from (t3 join (t4 natural join t5) on (b < z))
515
512
              natural join
516
513
              (t1 natural join t2);
517
 
--error ER_NON_UNIQ_ERROR
 
514
-- error 1052
518
515
select * from (t1 natural join t2) natural join (t3 join (t4 natural join t5) on (b < z));
519
516
 
520
517
drop table t1;
601
598
create table t3 (a int, b int, filler char(100), key(a), key(b));
602
599
 
603
600
insert into t2 
604
 
  select @a:= A.a + 10*(B.a + 10*C.a), @a, 'filler' from t1 A, t1 B, t1 C where B.a >= 0;
 
601
  select @a:= A.a + 10*(B.a + 10*C.a), @a, 'filler' from t1 A, t1 B, t1 C;
605
602
insert into t3 select * from t2 where a < 800;
606
603
 
607
604
# The order of tables must be t2,t3:
615
612
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
616
613
 
617
614
create table t2 (a int, b int, primary key(a));
618
 
insert into t2 select @v:=A.a+10*B.a, @v  from t1 A, t1 B where B.a >= 0;
 
615
insert into t2 select @v:=A.a+10*B.a, @v  from t1 A, t1 B;
619
616
 
620
617
explain select * from t1;
621
618
--replace_column 2 #