3451 Tor Didriksen 2011-10-04
Trying to clean up contents conflicts for .result files
added:
mysql-test/r/join_cache_bka_nixbnl.result
mysql-test/r/join_nested_bka_nixbnl.result
mysql-test/r/join_outer_bka_nixbnl.result
mysql-test/r/select_all_bka_nixbnl.result
mysql-test/r/select_icp_mrr_bka_nixbnl.result
mysql-test/r/select_none_bka_nixbnl.result
mysql-test/r/subquery_all_bka_nixbnl.result
mysql-test/r/subquery_nomat_nosj_bka_nixbnl.result
mysql-test/r/subquery_none_bka_nixbnl.result
mysql-test/r/subquery_sj_all_bka_nixbnl.result
mysql-test/r/subquery_sj_dupsweed_bka_nixbnl.result
mysql-test/r/subquery_sj_firstmatch_bka_nixbnl.result
mysql-test/r/subquery_sj_innodb_all_bka_nixbnl.result
mysql-test/r/subquery_sj_innodb_none_bka_nixbnl.result
mysql-test/r/subquery_sj_loosescan_bka_nixbnl.result
mysql-test/r/subquery_sj_mat_bka_nixbnl.result
mysql-test/r/subquery_sj_none_bka_nixbnl.result
mysql-test/t/join_cache_bka_nixbnl.test
mysql-test/t/join_nested_bka_nixbnl.test
mysql-test/t/join_outer_bka_nixbnl.test
mysql-test/t/select_all_bka_nixbnl.test
mysql-test/t/select_icp_mrr_bka_nixbnl.test
mysql-test/t/select_none_bka_nixbnl.test
mysql-test/t/subquery_all_bka_nixbnl.test
mysql-test/t/subquery_nomat_nosj_bka_nixbnl.test
mysql-test/t/subquery_none_bka_nixbnl.test
mysql-test/t/subquery_sj_all_bka_nixbnl.test
mysql-test/t/subquery_sj_dupsweed_bka_nixbnl.test
mysql-test/t/subquery_sj_firstmatch_bka_nixbnl.test
mysql-test/t/subquery_sj_innodb_all_bka_nixbnl.test
mysql-test/t/subquery_sj_innodb_none_bka_nixbnl.test
mysql-test/t/subquery_sj_loosescan_bka_nixbnl.test
mysql-test/t/subquery_sj_mat_bka_nixbnl.test
mysql-test/t/subquery_sj_none_bka_nixbnl.test
3450 Tor Didriksen 2011-10-04
Trying to clean up contents conflicts for .result files
removed:
mysql-test/r/join_cache_bka_nobnl.result
mysql-test/r/join_nested_bka_nobnl.result
mysql-test/r/join_outer_bka_nobnl.result
mysql-test/r/select_all_bka_nobnl.result
mysql-test/r/select_icp_mrr_bka_nobnl.result
mysql-test/r/select_none_bka_nobnl.result
mysql-test/r/subquery_all_bka_nobnl.result
mysql-test/r/subquery_nomat_nosj_bka_nobnl.result
mysql-test/r/subquery_none_bka_nobnl.result
mysql-test/r/subquery_sj_all_bka_nobnl.result
mysql-test/r/subquery_sj_dupsweed_bka_nobnl.result
mysql-test/r/subquery_sj_firstmatch_bka_nobnl.result
mysql-test/r/subquery_sj_innodb_all_bka_nobnl.result
mysql-test/r/subquery_sj_innodb_none_bka_nobnl.result
mysql-test/r/subquery_sj_loosescan_bka_nobnl.result
mysql-test/r/subquery_sj_mat_bka_nobnl.result
mysql-test/r/subquery_sj_none_bka_nobnl.result
mysql-test/t/join_cache_bka_nobnl.test
mysql-test/t/join_nested_bka_nobnl.test
mysql-test/t/join_outer_bka_nobnl.test
mysql-test/t/select_all_bka_nobnl.test
mysql-test/t/select_icp_mrr_bka_nobnl.test
mysql-test/t/select_none_bka_nobnl.test
mysql-test/t/subquery_all_bka_nobnl.test
mysql-test/t/subquery_nomat_nosj_bka_nobnl.test
mysql-test/t/subquery_none_bka_nobnl.test
mysql-test/t/subquery_sj_all_bka_nobnl.test
mysql-test/t/subquery_sj_dupsweed_bka_nobnl.test
mysql-test/t/subquery_sj_firstmatch_bka_nobnl.test
mysql-test/t/subquery_sj_innodb_all_bka_nobnl.test
mysql-test/t/subquery_sj_innodb_none_bka_nobnl.test
mysql-test/t/subquery_sj_loosescan_bka_nobnl.test
mysql-test/t/subquery_sj_mat_bka_nobnl.test
mysql-test/t/subquery_sj_none_bka_nobnl.test
3449 Roy Lyseng 2011-10-01
Bug#12714094: Assert in optimize_semijoin_nests()
Here we have a subquery with two outer-joined tables, where the outer
table of the outer join has a functional dependency to the outer query.
pull_out_semijoin_tables() attempts to pull out this table, however
we do not support a semi-join nest that has an outer-join dependency
to the outer query scope. The consequence was an assert in
optimize_semijoin_nests() because the const table detection code
erroneously detected a semi-joined inner-of-outer-join table as const.
The simple solution to the problem is to not perform pullout of
tables that will cause outer-join dependencies across join nests.
We now collect information about dependent tables inside
pull_out_semijoin_tables() and do not pull out tables that have
dependencies from other tables.
There was also a consequence for straight-joined tables that use the
same dependency information as outer-joined tables. There was special
code in make_join_statistics() that attempted to mark dependent tables
as const. This code is invalid when the table in question is also
a semi-joined table.
mysql-test/include/subquery_sj.inc
New test for bug#12714094.
mysql-test/r/subquery_sj_all.result
mysql-test/r/subquery_sj_all_bka.result
mysql-test/r/subquery_sj_all_bka_nobnl.result
mysql-test/r/subquery_sj_all_bkaunique.result
mysql-test/r/subquery_sj_dupsweed.result
mysql-test/r/subquery_sj_dupsweed_bka.result
mysql-test/r/subquery_sj_dupsweed_bka_nobnl.result
mysql-test/r/subquery_sj_dupsweed_bkaunique.result
mysql-test/r/subquery_sj_firstmatch.result
mysql-test/r/subquery_sj_firstmatch_bka.result
mysql-test/r/subquery_sj_firstmatch_bka_nobnl.result
mysql-test/r/subquery_sj_firstmatch_bkaunique.result
mysql-test/r/subquery_sj_loosescan.result
mysql-test/r/subquery_sj_loosescan_bka.result
mysql-test/r/subquery_sj_loosescan_bka_nobnl.result
mysql-test/r/subquery_sj_loosescan_bkaunique.result
mysql-test/r/subquery_sj_mat.result
mysql-test/r/subquery_sj_mat_bka.result
mysql-test/r/subquery_sj_mat_bka_nobnl.result
mysql-test/r/subquery_sj_mat_bkaunique.result
mysql-test/r/subquery_sj_mat_nosj.result
mysql-test/r/subquery_sj_none.result
mysql-test/r/subquery_sj_none_bka.result
mysql-test/r/subquery_sj_none_bka_nobnl.result
mysql-test/r/subquery_sj_none_bkaunique.result
New test results for bug#12714094.
sql/sql_select.cc
In pull_out_semijoin_tables(), do not pull out tables that have
dependencies from other tables.
In make_join_statistics(), do not mark as const dependent tables
that are part of a semi-join nest.
In optimize_semijoin_nests(), tighten a DBUG_ASSERT.
After bug#43768 was fixed, we do not allow any const tables inside
semi-join nests.
modified:
mysql-test/include/subquery_sj.inc
mysql-test/r/subquery_sj_all.result
mysql-test/r/subquery_sj_all_bka.result
mysql-test/r/subquery_sj_all_bka_nobnl.result
mysql-test/r/subquery_sj_all_bkaunique.result
mysql-test/r/subquery_sj_dupsweed.result
mysql-test/r/subquery_sj_dupsweed_bka.result
mysql-test/r/subquery_sj_dupsweed_bka_nobnl.result
mysql-test/r/subquery_sj_dupsweed_bkaunique.result
mysql-test/r/subquery_sj_firstmatch.result
mysql-test/r/subquery_sj_firstmatch_bka.result
mysql-test/r/subquery_sj_firstmatch_bka_nobnl.result
mysql-test/r/subquery_sj_firstmatch_bkaunique.result
mysql-test/r/subquery_sj_loosescan.result
mysql-test/r/subquery_sj_loosescan_bka.result
mysql-test/r/subquery_sj_loosescan_bka_nobnl.result
mysql-test/r/subquery_sj_loosescan_bkaunique.result
mysql-test/r/subquery_sj_mat.result
mysql-test/r/subquery_sj_mat_bka.result
mysql-test/r/subquery_sj_mat_bka_nobnl.result
mysql-test/r/subquery_sj_mat_bkaunique.result
mysql-test/r/subquery_sj_mat_nosj.result
mysql-test/r/subquery_sj_none.result
mysql-test/r/subquery_sj_none_bka.result
mysql-test/r/subquery_sj_none_bka_nobnl.result
mysql-test/r/subquery_sj_none_bkaunique.result
sql/sql_select.cc
Diff too large for email (166283 lines, the limit is 10000).
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk branch (tor.didriksen:3449 to 3451) | Tor Didriksen | 5 Oct |