Loading mysql-test/r/join.result +6 −0 Original line number Diff line number Diff line Loading @@ -283,6 +283,12 @@ ID Value1 Value2 SELECT * FROM t1 NATURAL JOIN t2 WHERE (Value1 = 'A' AND Value2 <> 'B') AND 1; ID Value1 Value2 drop table t1,t2; CREATE TABLE t1 (a int); CREATE TABLE t2 (b int); CREATE TABLE t3 (c int); SELECT * FROM t1 NATURAL JOIN t2 NATURAL JOIN t3; a b c DROP TABLE t1, t2, t3; create table t1 (i int); create table t2 (i int); create table t3 (i int); Loading mysql-test/t/join.test +10 −0 Original line number Diff line number Diff line Loading @@ -284,6 +284,16 @@ SELECT * FROM t1 NATURAL JOIN t2 WHERE 1 AND Value1 = 'A' AND Value2 <> 'B'; SELECT * FROM t1 NATURAL JOIN t2 WHERE (Value1 = 'A' AND Value2 <> 'B') AND 1; drop table t1,t2; # # dummy natural join (no common columns) Bug #4807 # CREATE TABLE t1 (a int); CREATE TABLE t2 (b int); CREATE TABLE t3 (c int); SELECT * FROM t1 NATURAL JOIN t2 NATURAL JOIN t3; DROP TABLE t1, t2, t3; # # Test combination of join methods # Loading sql/sql_base.cc +25 −22 Original line number Diff line number Diff line Loading @@ -2522,6 +2522,8 @@ int setup_conds(THD *thd,TABLE_LIST *tables,COND **conds) // to prevent natural join processing during PS re-execution table->natural_join= 0; if (cond_and->list.elements) { if (!table->outer_join) // Not left join { *conds= and_conds(*conds, cond_and); Loading @@ -2548,6 +2550,7 @@ int setup_conds(THD *thd,TABLE_LIST *tables,COND **conds) } } } } if (stmt) { Loading Loading
mysql-test/r/join.result +6 −0 Original line number Diff line number Diff line Loading @@ -283,6 +283,12 @@ ID Value1 Value2 SELECT * FROM t1 NATURAL JOIN t2 WHERE (Value1 = 'A' AND Value2 <> 'B') AND 1; ID Value1 Value2 drop table t1,t2; CREATE TABLE t1 (a int); CREATE TABLE t2 (b int); CREATE TABLE t3 (c int); SELECT * FROM t1 NATURAL JOIN t2 NATURAL JOIN t3; a b c DROP TABLE t1, t2, t3; create table t1 (i int); create table t2 (i int); create table t3 (i int); Loading
mysql-test/t/join.test +10 −0 Original line number Diff line number Diff line Loading @@ -284,6 +284,16 @@ SELECT * FROM t1 NATURAL JOIN t2 WHERE 1 AND Value1 = 'A' AND Value2 <> 'B'; SELECT * FROM t1 NATURAL JOIN t2 WHERE (Value1 = 'A' AND Value2 <> 'B') AND 1; drop table t1,t2; # # dummy natural join (no common columns) Bug #4807 # CREATE TABLE t1 (a int); CREATE TABLE t2 (b int); CREATE TABLE t3 (c int); SELECT * FROM t1 NATURAL JOIN t2 NATURAL JOIN t3; DROP TABLE t1, t2, t3; # # Test combination of join methods # Loading
sql/sql_base.cc +25 −22 Original line number Diff line number Diff line Loading @@ -2522,6 +2522,8 @@ int setup_conds(THD *thd,TABLE_LIST *tables,COND **conds) // to prevent natural join processing during PS re-execution table->natural_join= 0; if (cond_and->list.elements) { if (!table->outer_join) // Not left join { *conds= and_conds(*conds, cond_and); Loading @@ -2548,6 +2550,7 @@ int setup_conds(THD *thd,TABLE_LIST *tables,COND **conds) } } } } if (stmt) { Loading