• unknown's avatar
    Fixed bug #25798. · 47b98f01
    unknown authored
    This bug may manifest itself not only with the queries for which
    the index-merge access method is chosen. It also may display
    itself for queries with DISTINCT.
    
    The bug was in how the Unique::get method used the merge_buffers
    function. To compare elements in the the queue employed by
    merge_buffers() it must use the buffpek_compare function rather
    than the function for binary comparison. 
    
    
    mysql-test/r/innodb_mysql.result:
      Added a test case for bug #25798.
    mysql-test/t/innodb_mysql.test:
      Added a test case for bug #25798.
    sql/filesort.cc:
      Fixed bug #25798.
      The function merge_buffers() when called from the Uniques::get method
      must use function buffpek_compare to compare elements in the queue it
      employs. The pointer to buffpek_compare and the info for the function
      that compares sorted records are passed to merge_buffers through certain 
      designated fields of the SORTPARAM structure.
    sql/sql_sort.h:
      Fixed bug #25798.
      Added fields to the SORTPARAM structure to be used in the function 
      merge_buffers when called by the Uniques::get method.
    sql/uniques.cc:
      Fixed bug 25798.
      The function merge_buffers() when called from the Uniques::get method
      must use function buffpek_compare to compare elements in the queue it
      employes.
    47b98f01
filesort.cc 44.6 KB