1. 15 Jan, 2011 2 commits
    • Igor Babaev's avatar
      Merge · 92f2392e
      Igor Babaev authored
      92f2392e
    • Igor Babaev's avatar
      Ported the fix for LP bug #702310 / bug #59493. · 0aebdc11
      Igor Babaev authored
      An assertion failure was triggered for a 6-way join query that used two
      join buffers.
      The failure happened because every call of JOIN_CACHE::join_matching_records
      saved and restored status of all tables that were accessed before the table
      join_tab. It must do it only for those of them that follow the last table 
      using a join buffer.
      0aebdc11
  2. 14 Jan, 2011 1 commit
  3. 13 Jan, 2011 4 commits
  4. 12 Jan, 2011 1 commit
    • Sergey Petrunya's avatar
      BUG#665669: Result differences on query re-execution · ad78c24a
      Sergey Petrunya authored
      - Cause: handler::in_range_check_pushed_down was not reset when a 
        command would call handler->idx_cond_push() without later calling
        handler->index_end().
      - Fix: reset the variable in handler->reset(), too (like we do with other
        Index Condition Pushdown members).
      ad78c24a
  5. 05 Jan, 2011 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #697557. · cb4fa7f4
      Igor Babaev authored
      When stored in a key buffer any varchar field has a length prefix
      that always takes 2 bytes.
      cb4fa7f4
  6. 30 Dec, 2010 1 commit
  7. 29 Dec, 2010 2 commits
  8. 28 Dec, 2010 3 commits
  9. 27 Dec, 2010 3 commits
    • Igor Babaev's avatar
      Post-merge fixes. · 511b53ab
      Igor Babaev authored
      511b53ab
    • Igor Babaev's avatar
      Merge · 0dc5ef87
      Igor Babaev authored
      0dc5ef87
    • Igor Babaev's avatar
      Fixed LP bug #694443. · 18dc64ec
      Igor Babaev authored
      One of the hash functions employed by the BNLH join algorithm
      calculates the the value of hash index for key value utilizing
      every byte of the key buffer. To make this calculation valid
      one has to ensure that for any key value unused bytes of the 
      buffer are filled with with a certain filler. We choose 0 as
      a filler for these bytes.
      
      Added an optional boolean parameter with_zerofill to the function
      key_copy. If the value of the parameter is TRUE all unused bytes
      of the key buffer is filled with 0. 
      18dc64ec
  10. 26 Dec, 2010 1 commit
  11. 25 Dec, 2010 2 commits
  12. 24 Dec, 2010 2 commits
    • Igor Babaev's avatar
      Fixed LP bug#694092. · d9a81475
      Igor Babaev authored
      In some cases the function make_cond_for_index() was mistaken
      when detecting index only pushdown conditions for a table: 
      a pushdown condition that was not index only could be marked
      as such.
      It happened because the procedure erroneously used the markers
      for index only conditions that remained from the calls of
      this function that extracted the index conditions for other 
      tables.
      Fixed by erasing index only markers as soon as they are need
      anymore.
      d9a81475
    • Igor Babaev's avatar
      Merge: mwl#24+mwl#21 5.1->5.2 · 7d68e1ea
      Igor Babaev authored
      7d68e1ea
  13. 23 Dec, 2010 1 commit
  14. 22 Dec, 2010 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #670380. · a095346a
      Igor Babaev authored
      Lifted the limitation that hash join could not be used over 
      varchar fields with non-binary collation.
      a095346a
  15. 21 Dec, 2010 2 commits
  16. 20 Dec, 2010 2 commits
  17. 19 Dec, 2010 2 commits
  18. 17 Dec, 2010 3 commits
  19. 16 Dec, 2010 3 commits
  20. 15 Dec, 2010 1 commit
  21. 14 Dec, 2010 1 commit
    • unknown's avatar
      Fix LP BUG#685411 · 4f28dcbe
      unknown authored
      Analysis:
      The assert failed because st_select_lex::print() was called for subqueries
      as follows:
      
      Item_subselect::print() ->
        subselect_single_select_engine::print() -> st_select_lex::print()
      
      It was Item_subselect::fix_fields() that set the thd by calling set_thd(),
      so when this print() was called before fix_fields(), subselect_engine::thd
      was NULL.
      
      Solution:
      The patch makes all constructors of all subselect_engine classes to take
      a THD parameter. The default subselect_single_select_engine engine is created
      early during parse time, in the Item_subselect::init call, so we pass the
      correct THD object already at this point.
      4f28dcbe
  22. 13 Dec, 2010 1 commit