1. 02 Aug, 2016 1 commit
  2. 30 Jul, 2016 2 commits
  3. 26 Jul, 2016 1 commit
    • Sergei Petrunia's avatar
      MDEV-10228: Delete missing rows with OR conditions · 15ef38d2
      Sergei Petrunia authored
      Fix get_quick_keys(): When building range tree from a condition
      in form
      
        keypart1=const AND (keypart2 < 0 OR keypart2>=0)
      
      the SEL_ARG for keypart2 represents an interval (-inf, +inf).
      However, the logic that sets UNIQUE_RANGE flag fails to recognize
      this, and sets UNIQUE_RANGE flag if (keypart1, keypart2) covered
      a unique key.
      As a result, range access executor assumes the interval can have
      at most one row and only reads the first row from it.
      15ef38d2
  4. 21 Jul, 2016 1 commit
  5. 15 Jul, 2016 1 commit
  6. 12 Jul, 2016 1 commit
  7. 11 Jul, 2016 1 commit
  8. 06 Jul, 2016 1 commit
    • Sergei Golubchik's avatar
      MDEV-7973 bigint fail with gcc 5.0 · e81455bb
      Sergei Golubchik authored
      -LONGLONG_MIN is the undefined behavior in C.
      longlong2decimal() used to do this:
      
        int longlong2decimal(longlong from, decimal_t *to) {
          if ((to->sign= from < 0))
            return ull2dec(-from, to);
          return ull2dec(from, to);
      
      and later in ull2dec() (DIG_BASE is 1000000000):
      
        static int ull2dec(ulonglong from, decimal_t *to) {
          for (intg1=1; from >= DIG_BASE; intg1++, from/=DIG_BASE) {}
      
      this breaks in gcc-5 at -O3. Here ull2dec is inlined into
      longlong2decimal. And gcc-5 believes that 'from' in the
      inlined ull2dec is always a positive integer (indeed, if it was
      negative, then -from was used instead). So gcc-5 uses
      *signed* comparison with DIG_BASE.
      
      Fix: make a special case for LONGLONG_MIN, don't negate it
      e81455bb
  9. 30 Jun, 2016 1 commit
  10. 24 Jun, 2016 1 commit
  11. 23 Jun, 2016 1 commit
    • Jan Lindström's avatar
      MDEV-10083: Orphan ibd file when playing with foreign keys · ef92aaf9
      Jan Lindström authored
      Analysis: row_drop_table_for_mysql did not allow dropping
      referenced table even in case when actual creating of the
      referenced table was not successfull if foreign_key_checks=1.
      
      Fix: Allow dropping referenced table even if foreign_key_checks=1
      if actual table create returned error.
      ef92aaf9
  12. 20 Jun, 2016 3 commits
    • Sergei Golubchik's avatar
      fix a mysql-5.5.50 merge: mysqlcheck · a482e76e
      Sergei Golubchik authored
      quote identifiers correctly
      a482e76e
    • Sergei Golubchik's avatar
      MDEV-9749 InnoDB receives 'Bad file descriptor' error, possibly related to feedback plugin · 95bf696d
      Sergei Golubchik authored
      and
      MDEV-10250 InnoDB: Error: File (unknown): 'close' returned OS error 209. Cannot continue operation"
      
      after a failed connect() feedback plugin was continuing with the
      file descriptor, trying to send the data (which failed) and
      closing it at the end. Even though this fd might've been reused for
      something else already.
      95bf696d
    • Sergey Vojtovich's avatar
      MDEV-10043 - main.events_restart fails sporadically in buildbot (crashes upon · 7f38a070
      Sergey Vojtovich authored
                   shutdown)
      
      There was race condition between shutdown thread and event worker threads.
      
      Shutdown thread waits for thread_count to become 0 in close_connections(). It
      may happen so that event worker thread was started but didn't increment
      thread_count by this time. In this case shutdown thread may miss wait for this
      working thread and continue deinitialization. Worker thread in turn may continue
      execution and crash on deinitialized data.
      
      Fixed by incrementing thread_count before thread is actually created like it is
      done for connection threads.
      
      Also let event scheduler not to inc/dec running threads counter for symmetry
      with other "service" threads.
      7f38a070
  13. 17 Jun, 2016 2 commits
  14. 16 Jun, 2016 3 commits
  15. 14 Jun, 2016 17 commits
  16. 13 Jun, 2016 2 commits
  17. 12 Jun, 2016 1 commit