1. 12 Aug, 2016 1 commit
    • Monty's avatar
      With parallel replication we have had a couple of bugs where DDL's · 98e36b29
      Monty authored
      (like DROP TABLE) has been scheduled before conflicting DDL's (like INSERT)
      are commited.
      
      What makes these bugs hard to detect is that in most cases any wrong
      schduling are caught by MDL locks. It's only when there are timing issues
      that the bugs (usually deadlocks) are noticed.
      
      This patch adds a DBUG_ASSERT() that detects, in parallel replication,
      if a DDL is scheduled before any depending DML'S are commited.
      It does this be checking if there are any conflicting replication locks
      when the DDL is about to wait for getting it's MDL lock.
      
      I also did some minor code cleanups in sql_base.cc to make this code
      similar to other related code.
      98e36b29
  2. 11 Aug, 2016 1 commit
  3. 02 Aug, 2016 2 commits
  4. 27 Jul, 2016 1 commit
  5. 24 Jul, 2016 1 commit
  6. 18 Jul, 2016 1 commit
  7. 12 Jul, 2016 9 commits
  8. 11 Jul, 2016 1 commit
  9. 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
  10. 04 Jul, 2016 1 commit
  11. 30 Jun, 2016 1 commit
  12. 28 Jun, 2016 2 commits
  13. 24 Jun, 2016 2 commits
  14. 23 Jun, 2016 5 commits
  15. 22 Jun, 2016 9 commits
  16. 21 Jun, 2016 2 commits