Added a case for bug #4976 when one of the inner tables is empty.
select.result, join.result:
Reversed the previous change of the erronious fix for bug #4976.
sql_select.cc:
The previous fix for bug 4976 was reversed as it
erroniously converted an outer join into an innner join
when on_expression does not refer to outer tables.
This is not valid if inner tables return an empty set.
Setting dependency on outer tables was added for the above cases.
To fix the crash in the test case of bug #4976
a guard was added that blocks running the crashing code for
nested outer joins.
sql/sql_select.cc:
The previous fix for bug 4976 was reversed as it
erroniously converted an outer join into an innner join
when on_expression does not refer to outer tables.
This is not valid if inner tables return an empty set.
Setting dependency on outer tables was added.
The crash of the test case for bug #4976 was fixed
adding a guard that blocks running the code for
nested outer joins.
mysql-test/r/join.result:
Reversed the previous change of the erronious fix for bug #4976.
mysql-test/r/select.result:
Reversed the previous change of the erronious fix for bug #4976.
mysql-test/r/join_nested.result:
Added a case for bug #4976 when one of the inner tables is empty.
mysql-test/t/join_nested.test:
Added a case for bug #4976 when one of the inner tables is empty.
Fixed bug #4976.
join_nested.result, join_nested.test:
Added a test case for bug #4976.
sql_select.cc:
Applied conversion from an outer join to an inner join
when the on expression does not depend on the outer table.
It fixed bug #4976.
sql/sql_select.cc:
Applied conversion from an outer join to an inner join
when the on expression does not depend on the outer table.
It fixed bug #4976.
mysql-test/t/join_nested.test:
Added a case test for bug #4976.
mysql-test/r/join_nested.result:
Added a case test for bug #4976.
mysql-test/r/select.result:
Fixed bug #4976.
mysql-test/r/join.result:
Fixed bug #4976.
Added a test case for bug #4922.
sql_select.cc:
Blocked an optimization performed by join_read_const_table when
applied to an inner table of a nested outer join.
It was done to fix bug #4922.
sql_yacc.yy:
Fixed a typo bug in the rule for join_table.
sql/sql_yacc.yy:
Fixed a typo bug in the rule for join_table.
sql/sql_select.cc:
Blocked an optimization performed by join_read_const_table when
applied to an inner table of a nested outer join.
It was done to fix bug #4922.
mysql-test/t/join_nested.test:
Added a test case for bug #4922.
mysql-test/r/join_nested.result:
Added a test case for bug #4922.
spaces at line end in fresh definitions removed
fixed printing of nested joins (BUG#4352)
mysql-test/r/join_nested.result:
fixed join_nested test independence of environment
print of nested join test added
mysql-test/t/join_nested.test:
fixed join_nested test independence of environment
print of nested join test added
sql/sql_lex.h:
space at line end in fresh definition removed
sql/sql_select.cc:
fixed printing of nested joins
sql/table.h:
spaces at line end in fresh definitions removed
method for table printing