~maria-captains/maria/maria-5.3-qclexcheck

Viewing all changes in revision 3390.

  • Committer: Sergey Petrunya
  • Date: 2012-01-19 22:11:53 UTC
  • Revision ID: psergey@askmonty.org-20120119221153-vrvfy11wccbr47ql
BUG#912513: Wrong result (missing rows) with join_cache_hashed+materialization+semijoin=on
- equality substitution code was geared towards processing WHERE/ON clauses.
  that is, it assumed that it was doing substitions on the code that 
   = wasn't attached to any particular join_tab yet
   = was going to be fed to make_join_select() which would take the condition
     apart and attach various parts of it to tables inside/outside semi-joins.
- However, somebody added equality substition for ref access. That is, if 
  we have a ref access on TBL.key=expr, they would do equality substition in
  'expr'. This possibility wasn't accounted for.
- Fixed equality substition code by adding a mode that does equality 
  substition under assumption that the processed expression will be 
  attached to a certain particular table TBL.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: