~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/join.test

  • Committer: patrick crews
  • Date: 2010-09-29 15:15:19 UTC
  • mfrom: (1099.4.188 drizzle)
  • Revision ID: gleebix@gmail.com-20100929151519-6mrmzd1ciw2p9nws
Tags: 2010.09.1802
Update translations

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
 
153
151
SELECT * FROM t1 LEFT JOIN t2 USING (d) WHERE t2.d IS NULL;
154
152
SELECT * FROM t1 LEFT JOIN t2 USING (d) WHERE d IS NULL;
155
153
SELECT * from t1 WHERE t1.d IS NULL;
156
 
--error ER_DIVISION_BY_ZERO
157
154
SELECT * FROM t1 WHERE 1/0 IS NULL;
158
155
DROP TABLE t1,t2;
159
156
 
301
298
CREATE TABLE t1 (a int);
302
299
CREATE TABLE t2 (b int);
303
300
CREATE TABLE t3 (c int);
304
 
--error ER_CARTESIAN_JOIN_ATTEMPTED
305
301
SELECT * FROM t1 NATURAL JOIN t2 NATURAL JOIN t3;
306
302
DROP TABLE t1, t2, t3;
307
303
 
492
488
# Negative tests (tests for errors)
493
489
#--------------------------------------------------------------------
494
490
# works in Oracle - bug
495
 
--error ER_NON_UNIQ_ERROR
 
491
-- error 1052
496
492
select * from t1 natural join (t3 cross join t4);
497
493
# works in Oracle - bug
498
 
--error ER_NON_UNIQ_ERROR
 
494
-- error 1052
499
495
select * from (t3 cross join t4) natural join t1;
500
 
--error ER_NON_UNIQ_ERROR
 
496
-- error 1052
501
497
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
 
498
-- error 1052
 
499
select * from ((t1 natural join t2), (t3 natural join t4)) natural join t6;
 
500
-- error 1052
 
501
select * from ((t1 natural join t2), (t3 natural join t4)) natural join t6;
 
502
-- error 1052
507
503
select * from t6 natural join ((t1 natural join t2),  (t3 natural join t4));
508
 
--error ER_NON_UNIQ_ERROR
 
504
-- error 1052
509
505
select * from (t1 join t2 on t1.b=t2.b) natural join (t3 natural join t4);
510
 
--error ER_NON_UNIQ_ERROR
 
506
-- error 1052
511
507
select * from  (t3 natural join t4) natural join (t1 join t2 on t1.b=t2.b);
512
508
# this one is OK, the next equivalent one is incorrect (bug in Oracle)
513
 
--error ER_NON_UNIQ_ERROR
 
509
-- error 1052
514
510
select * from (t3 join (t4 natural join t5) on (b < z))
515
511
              natural join
516
512
              (t1 natural join t2);
517
 
--error ER_NON_UNIQ_ERROR
 
513
-- error 1052
518
514
select * from (t1 natural join t2) natural join (t3 join (t4 natural join t5) on (b < z));
519
515
 
520
516
drop table t1;
601
597
create table t3 (a int, b int, filler char(100), key(a), key(b));
602
598
 
603
599
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;
 
600
  select @a:= A.a + 10*(B.a + 10*C.a), @a, 'filler' from t1 A, t1 B, t1 C;
605
601
insert into t3 select * from t2 where a < 800;
606
602
 
607
603
# The order of tables must be t2,t3:
615
611
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
616
612
 
617
613
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;
 
614
insert into t2 select @v:=A.a+10*B.a, @v  from t1 A, t1 B;
619
615
 
620
616
explain select * from t1;
621
617
--replace_column 2 #