Commit 9227cf42 authored by unknown's avatar unknown
Browse files

Merge rurik.mysql.com:/home/igor/mysql-5.0

into rurik.mysql.com:/home/igor/dev/mysql-5.0-0

parents d0db7027 8ab8fca7
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -2682,3 +2682,20 @@ AND FK_firma_id = 2;
COUNT(*)
0
drop table t1;
CREATE TABLE t1 (a int);
CREATE TABLE t2 (a int);
INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
INSERT INTO t2 VALUES (2), (4), (6);
SELECT t1.a FROM t1 STRAIGHT_JOIN t2 ON t1.a=t2.a;
a
2
4
EXPLAIN SELECT t1.a FROM t1 STRAIGHT_JOIN t2 ON t1.a=t2.a;
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	5	
1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	3	Using where
EXPLAIN SELECT t1.a FROM t1 INNER JOIN t2 ON t1.a=t2.a;
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	3	
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	5	Using where
DROP TABLE t1,t2;
+16 −0
Original line number Diff line number Diff line
@@ -2255,3 +2255,19 @@ AND FK_firma_id = 2;

drop table t1;

#
# Test for bug #10084: STRAIGHT_JOIN with ON expression 
#

CREATE TABLE t1 (a int);
CREATE TABLE t2 (a int);
INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
INSERT INTO t2 VALUES (2), (4), (6);

SELECT t1.a FROM t1 STRAIGHT_JOIN t2 ON t1.a=t2.a;

EXPLAIN SELECT t1.a FROM t1 STRAIGHT_JOIN t2 ON t1.a=t2.a;
EXPLAIN SELECT t1.a FROM t1 INNER JOIN t2 ON t1.a=t2.a;

DROP TABLE t1,t2;
+4 −2
Original line number Diff line number Diff line
@@ -5108,10 +5108,12 @@ derived_table_list:

join_table:
        table_ref normal_join table_ref { TEST_ASSERT($1 && ($$=$3)); }
	| table_ref STRAIGHT_JOIN table_factor
	| table_ref STRAIGHT_JOIN table_ref
	  { TEST_ASSERT($1 && ($$=$3)); $3->straight=1; }
	| table_ref normal_join table_ref ON expr
	  { TEST_ASSERT($1 && ($$=$3)); add_join_on($3,$5); }
        | table_ref STRAIGHT_JOIN table_ref ON expr
          { TEST_ASSERT($1 && ($$=$3)); $3->straight=1; add_join_on($3,$5); }
	| table_ref normal_join table_ref
	  USING
	  {