1. 23 Jun, 2005 16 commits
    • timour@mysql.com's avatar
      Merge mysql.com:/home/timka/mysql/src/5.0-virgin · 67646ab1
      timour@mysql.com authored
      into mysql.com:/home/timka/mysql/src/5.0-dbg
      67646ab1
    • svoj@mysql.com's avatar
      Merge mysql.com:/home/svoj/devel/mysql/mysql-5.0.8-build · 23a2643c
      svoj@mysql.com authored
      into mysql.com:/home/svoj/devel/mysql/mysql-5.0.9
      23a2643c
    • igor@rurik.mysql.com's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0 · 4c910769
      igor@rurik.mysql.com authored
      into rurik.mysql.com:/home/igor/mysql-5.0
      4c910769
    • igor@rurik.mysql.com's avatar
      opt_range.cc: · c63914c0
      igor@rurik.mysql.com authored
        Identation correction.
      c63914c0
    • lenz@mysql.com's avatar
      Merge mysql.com:/space/my/mysql-4.1 · fbbe0b75
      lenz@mysql.com authored
      into mysql.com:/space/my/mysql-5.0-build
      fbbe0b75
    • igor@rurik.mysql.com's avatar
      Merge rurik.mysql.com:/home/igor/mysql-5.0 · 4f93e841
      igor@rurik.mysql.com authored
      into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
      4f93e841
    • sergefp@mysql.com's avatar
      Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0 · d66770b5
      sergefp@mysql.com authored
      into mysql.com:/home/psergey/mysql-5.0-back-vac-look
      d66770b5
    • svoj@mysql.com's avatar
      WL#2286 - Compile MySQL w/YASSL support · b720c6e5
      svoj@mysql.com authored
      Fix for "multiple definition of __cxa_pure_virtual" link failure
      when compiling with icc.
      b720c6e5
    • lenz@mysql.com's avatar
      Merge mysql.com:/space/my/mysql-4.1-build · a190236e
      lenz@mysql.com authored
      into mysql.com:/space/my/mysql-5.0.8-clone
      a190236e
    • lenz@mysql.com's avatar
      - manual merge of the new node names · cacb7199
      lenz@mysql.com authored
      cacb7199
    • lenz@mysql.com's avatar
    • timour@mysql.com's avatar
      Fix for BUG#11185. · b3acc7fe
      timour@mysql.com authored
        
        The source of the problem is in Field_longlong::cmp. If 'this' is
        an unsigned number, the method casts both the current value, and
        the constant that we compare with to an unsigned number. As a
        result if the constant we compare with is a negative number, it
        wraps to some unsigned number, and the comparison is incorrect.
        
        When the optimizer chooses the "range" access method, this problem
        causes handler::read_range_next to reject the current key when the
        upper bound key is a negative number because handler::compare_key
        incorrectly considers the positive and negative keys to be equal.
        
        The current patch does not correct the source of the problem in
        Field_longlong::cmp because it is not easy to propagate sign
        information about the constant at query execution time. Instead
        the patch changes the range optimizer so that it never compares
        unsiged fields with negative constants. As an added benefit,
        queries that do such comparisons will execute faster because
        the range optimizer replaces conditions like:
        (a) (unsigned_int [< | <=] negative_constant) == FALSE
        (b) (unsigned_int [> | >=] negative_constant) == TRUE
        with the corresponding constants.
        In some cases this may even result in constant time execution.
      b3acc7fe
    • igor@rurik.mysql.com's avatar
      opt_range.cc: · 893c6c9b
      igor@rurik.mysql.com authored
        Fixed buf #11487.
        Added a call of  QUICK_RANGE_SELECT::init to the
        QUICK_RANGE_SELECT::reset method. Without it the second
        evaluation of a subquery employing the range access failed.
      subselect.result, subselect.test:
        Added a test case for bug #11487.
      893c6c9b
    • timour@mysql.com's avatar
      Merge mysql.com:/home/timka/mysql/src/4.1-virgin · 3589c51c
      timour@mysql.com authored
      into mysql.com:/home/timka/mysql/src/4.1-bug-11185
      3589c51c
    • timour@mysql.com's avatar
      Merge mysql.com:/home/timka/mysql/src/4.1-dbg · ffd26ba3
      timour@mysql.com authored
      into mysql.com:/home/timka/mysql/src/5.0-dbg
      ffd26ba3
    • timour@mysql.com's avatar
      Fix for BUG#11185. · 294498e2
      timour@mysql.com authored
      The source of the problem is in Field_longlong::cmp. If 'this' is
      an unsigned number, the method casts both the current value, and
      the constant that we compare with to an unsigned number. As a
      result if the constant we compare with is a negative number, it
      wraps to some unsigned number, and the comparison is incorrect.
      
      When the optimizer chooses the "range" access method, this problem
      causes handler::read_range_next to reject the current key when the
      upper bound key is a negative number because handler::compare_key
      incorrectly considers the positive and negative keys to be equal.
      
      The current patch does not correct the source of the problem in
      Field_longlong::cmp because it is not easy to propagate sign
      information about the constant at query execution time. Instead
      the patch changes the range optimizer so that it never compares
      unsiged fields with negative constants. As an added benefit,
      queries that do such comparisons will execute faster because
      the range optimizer replaces conditions like:
      (a) (unsigned_int [< | <=] negative_constant) == FALSE
      (b) (unsigned_int [> | >=] negative_constant) == TRUE
      with the corresponding constants.
      In some cases this may even result in constant time execution.
      294498e2
  2. 22 Jun, 2005 24 commits