1. 20 Sep, 2012 1 commit
    • unknown's avatar
      MDEV-521 fix. · 792efd59
      unknown authored
      After pullout item during single row subselect transformation it should be fixed properly.
      792efd59
  2. 17 Sep, 2012 1 commit
  3. 14 Sep, 2012 1 commit
    • unknown's avatar
      Fix bug lp:1009187, mdev-373, mysql bug#58628 · b917fb63
      unknown authored
      Analysis:
      The queries in question use the [unique | index]_subquery execution methods.
      These methods reuse the ref keys constructed by create_ref_for_key(). The
      way create_ref_for_key() works is that it doesn't store in ref.key_copy[]
      store_key elements that represent constants. In particular it doesn't store
      the store_key for NULL constants.
      
      The execution of [unique | index]_subquery calls
      subselect_uniquesubquery_engine::copy_ref_key, which in addition to copy
      the left IN argument into a index lookup key, is supposed to detect if
      the left IN argument contains NULLs. Since the store_key for the NULL
      constant is not copied into the key array, the null is not detected, and
      execution erroneously proceeds as if it should look for a complete match.
      
      Solution:
      The solution (unlike MySQL) is to reuse already computed information about
      NULL presence. Item_in_optimizer::val_int already finds out if the left IN
      operand contains NULLs. The fix propagates this to the execution methods
      subselect_[unique | index]subquery_engine::exec so it knows if there were
      NULL values independent of the presence of keys.
      
      In addition the patch siplifies copy_ref_key() and the logic that hanldes
      the case of NULLs in the left IN operand.
      b917fb63
  4. 07 Sep, 2012 1 commit
    • unknown's avatar
      Fix of MDEV-511. · 83bdf56e
      unknown authored
      As far as we reopen tables so TABLE become invalid we should remove the pointer on cleanup().
      83bdf56e
  5. 05 Sep, 2012 1 commit
    • unknown's avatar
      MDEV-486 LP BUG#1010116 fix. · 54bb28d4
      unknown authored
      Link view/derived table fields to a real table to check turning the table record to null row.
      
      Item_direct_view_ref wrapper now checks if table is turned to null row.
      54bb28d4
  6. 31 Aug, 2012 2 commits
    • Alexey Botchkov's avatar
      Bug #1043845 st_distance() results are incorrect depending on variable order. · 589c62fe
      Alexey Botchkov authored
              Autointersections of an object were treated as nodes, so the wrong result.
      
      per-file comments:
        mysql-test/r/gis.result
      Bug #1043845 st_distance() results are incorrect depending on variable order.
              test result updated.
        mysql-test/t/gis.test
      Bug #1043845 st_distance() results are incorrect depending on variable order.
              test case added.
        sql/item.cc
              small fix to make compilers happy.
        sql/item_geofunc.cc
      Bug #1043845 st_distance() results are incorrect depending on variable order.
              Skip intersection points when calculate distance.
      589c62fe
    • Sergei Golubchik's avatar
      compilation warning · 51e14492
      Sergei Golubchik authored
      51e14492
  7. 30 Aug, 2012 2 commits
    • unknown's avatar
      MDEV-381: fdatasync() does not correctly flush growing binlog file. · 10802c4d
      unknown authored
      When we append data to the binlog file, we use fdatasync() to ensure
      the data gets to disk so that crash recovery can work.
      
      Unfortunately there seems to be a bug in ext3/ext4 on linux, so that
      fdatasync() does not correctly sync all data when the size of a file
      is increased. This causes crash recovery to not work correctly (it
      loses transactions from the binlog).
      
      As a work-around, use fsync() for the binlog, not fdatasync(). Since
      we are increasing the file size, (correct) fdatasync() will most
      likely not be faster than fsync() on any file system, and fsync()
      does work correctly on ext3/ext4. This avoids the need to try to
      detect if we are running on buggy ext3/ext4.
      10802c4d
    • Sergei Golubchik's avatar
      MDEV-437 Microseconds: In time functions precision is calculated modulo 256 · 0536c506
      Sergei Golubchik authored
      store the precision in uint, not uint8
      0536c506
  8. 29 Aug, 2012 4 commits
  9. 28 Aug, 2012 1 commit
  10. 24 Aug, 2012 1 commit
  11. 25 Aug, 2012 1 commit
    • unknown's avatar
      fix for MDEV-367 · 4d2b05b7
      unknown authored
      The problem was that was_null and null_value variables was reset in each reexecution of IN subquery, but engine rerun only for non-constant subqueries.
      
      Fixed checking constant in Item_equal sort.
      Fix constant reporting in Item_subselect.
      4d2b05b7
  12. 24 Aug, 2012 14 commits
  13. 23 Aug, 2012 1 commit
  14. 22 Aug, 2012 5 commits
  15. 21 Aug, 2012 1 commit
  16. 14 Aug, 2012 2 commits
    • Igor Babaev's avatar
    • Igor Babaev's avatar
      Fixed bug mdev-449. · d07b179f
      Igor Babaev authored
      The bug could caused a crash when the server executed a query with
      ORDER by and sort_buffer_size was set to a small enough number.
      It happened because the small sort buffer did not allow to allocate
      all merge buffers in it.
      Made sure that the allocated sort buffer would be big enough
      to contain all possible merge buffers.  
      d07b179f
  17. 01 Aug, 2012 1 commit
    • Elena Stepanova's avatar
      MDEV-369 (Mismatches in MySQL engines test suite) · 4f3674c8
      Elena Stepanova authored
      Following reasons caused mismatches:
        - different handling of invalid values;
        - different CAST results with fractional seconds;
        - microseconds support in MariaDB;
        - different algorithm of comparing temporal values;
        - differences in error and warning texts and codes;
        - different approach to truncating datetime values to time;
        - additional collations;
        - different record order for queries without ORDER BY;
        - MySQL bug#66034.
      More details in MDEV-369 comments.
      4f3674c8