1. 15 Jan, 2011 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #698882. · 6aeae1dd
      Igor Babaev authored
      Made sure that the optimal fields are used by TABLE_REF objects
      when building index access keys to joined tables.
      Fixed a bug in the template function that sorts the elements of
      a list using the bubble sort algorithm. The bug caused poor
      performance of the function. Also added an optimization that
      skips comparison with the most heavy elements that has been 
      already properly placed in the list.
      Made the comparison of the fields belonging to the same Item_equal
      more granular: fields belonging to the same table are also ordered
      according to some rules.
      6aeae1dd
  2. 05 Jan, 2011 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #697557. · 8291d34a
      Igor Babaev authored
      When stored in a key buffer any varchar field has a length prefix
      that always takes 2 bytes.
      8291d34a
  3. 30 Dec, 2010 1 commit
  4. 29 Dec, 2010 2 commits
  5. 28 Dec, 2010 3 commits
  6. 27 Dec, 2010 3 commits
    • Igor Babaev's avatar
      Post-merge fixes. · bf466a27
      Igor Babaev authored
      bf466a27
    • Igor Babaev's avatar
      Merge · 15fca76f
      Igor Babaev authored
      15fca76f
    • Igor Babaev's avatar
      Fixed LP bug #694443. · d3fd9a16
      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. 
      d3fd9a16
  7. 26 Dec, 2010 1 commit
  8. 25 Dec, 2010 1 commit
  9. 24 Dec, 2010 2 commits
    • Igor Babaev's avatar
      Fixed LP bug#694092. · ef292642
      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.
      ef292642
    • Igor Babaev's avatar
      Merge: mwl#24+mwl#21 5.1->5.2 · e99e7fb1
      Igor Babaev authored
      e99e7fb1
  10. 23 Dec, 2010 1 commit
  11. 22 Dec, 2010 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #670380. · f1b558fe
      Igor Babaev authored
      Lifted the limitation that hash join could not be used over 
      varchar fields with non-binary collation.
      f1b558fe
  12. 21 Dec, 2010 2 commits
  13. 20 Dec, 2010 2 commits
  14. 19 Dec, 2010 2 commits
  15. 17 Dec, 2010 3 commits
  16. 16 Dec, 2010 3 commits
  17. 15 Dec, 2010 1 commit
  18. 14 Dec, 2010 1 commit
    • unknown's avatar
      Fix LP BUG#685411 · 766df925
      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.
      766df925
  19. 13 Dec, 2010 5 commits
  20. 11 Dec, 2010 4 commits