1. 28 Apr, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-4340. · cade00e2
      Igor Babaev authored
      The function make_join_statistics checks whether eq_ref access uses only
      constant expressions, and, if this is the case the function performs
      constant row substitution. The code of this check must take into account
      hidden components of extended secondary keys. 
      cade00e2
  2. 25 Apr, 2013 2 commits
    • Vladislav Vaintroub's avatar
      Fix build on Windows · 36e4014c
      Vladislav Vaintroub authored
      36e4014c
    • unknown's avatar
      Fix unsigned/signed conversion bug in event type during mysql_binlog_send(). · 8d99caae
      unknown authored
      Since event types can be >=128 and are read from a (possibly signed) char
      pointer, we need to cast to unsigned char before extending to int, or we will
      get an incorrect negative number. This was done in the main code path already,
      but there is a rare case where we check for new events first without a lock
      and then again with the lock. If the second check succeeds because a new event
      turns up at just the right time, then we took a code path that was missing the
      correct unsigned char cast, leading to incorrect handling of events for old
      slave servers and possibly other grief.
      
      (This was found from a sporadic failure in Buildbot of test case
      rpl_mariadb_slave_capability).
      8d99caae
  3. 22 Apr, 2013 1 commit
    • unknown's avatar
      MDEV-4396: Fix sporadic failure of test innodb.innodb_bug14676111 · 997571af
      unknown authored
      The problem was that xtradb has innodb_purge_threads default 1 (plain
      innodb defaults to 0).
      
      The test sets a special debug variable and relies on it to force
      purge to happen. But when using background purge threads, this does
      not work, the debug code is not made to handle this, so occasionally
      the test times out waiting for the purge to occur.
      
      Fix by explicitly setting innodb_purgee_threads=0 for this test.
      997571af
  4. 19 Apr, 2013 2 commits
  5. 18 Apr, 2013 1 commit
  6. 17 Apr, 2013 1 commit
  7. 16 Apr, 2013 3 commits
  8. 14 Apr, 2013 2 commits
  9. 12 Apr, 2013 1 commit
    • Michael Widenius's avatar
      Increase default value of max_binlog_cache_size and max_binlog_stmt_cache_size to ulonglong_max. · 64c72159
      Michael Widenius authored
      This fixes that by default LOAD DATA INFILE will not generate the error:
      "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage..."
      
      
      mysql-test/suite/sys_vars/r/max_binlog_cache_size_basic.result:
        Updated test case
      mysql-test/suite/sys_vars/r/max_binlog_stmt_cache_size_basic.result:
        Updated test case
      sql/sys_vars.cc:
        Increase default value of max_binlog_cache_size and max_binlog_stmt_cache_size to ulonglong_max.
      64c72159
  10. 11 Apr, 2013 4 commits
  11. 07 Apr, 2013 1 commit
    • Vladislav Vaintroub's avatar
      MDEV-4356 : MariaDB does not start if bind-address gets resolved to more than single IP address. · 4528a2d9
      Vladislav Vaintroub authored
        
      MySQL bug http://bugs.mysql.com/bug.php?id=61713 was fixed in 5.5
        
      Fix is to remove check for multiple entries returned by getaddrinfo(), and use the first entry that works  - i.e socket can be created.  
      
      Unlike Oracle/MySQL's fix ,this one  is kept minimal : 
      -  we do not prioritize IPv4 over IPv6,  orr other way around,  and just rely on operating system to sort getaddrinfo() entries in sensible order. There is RFC that defines  what is sensible order for getaddrinfo entries ( RFC 3484), and OS specific tweaks are also possible , like /etc/gai.conf o Linux.
      -  also,  we do not force "0.0.0.0" address if bind-address is not given -  this would be a change in behavior of 5.5 at least on Windows, where passing NULL as  to getaddrinfo()  gives back IPv6-wildcard.
      4528a2d9
  12. 06 Apr, 2013 3 commits
  13. 08 Apr, 2013 1 commit
    • unknown's avatar
      If a range tree has a branch that is an expensive constant, · 2c892440
      unknown authored
      currently get_mm_tree skipped the evaluation of this constant
      and icorrectly proceeded. The correct behavior is to return a
      NULL subtree, according to the IF branch being fixed - when it
      evaluates the constant it returns a value, and doesn't continue
      further.
      2c892440
  14. 05 Apr, 2013 2 commits
  15. 04 Apr, 2013 5 commits
  16. 01 Apr, 2013 1 commit
  17. 29 Mar, 2013 1 commit
  18. 28 Mar, 2013 1 commit
  19. 03 Apr, 2013 1 commit
  20. 29 Mar, 2013 3 commits
    • unknown's avatar
      Fix for MDEV-4144 · 08d123b4
      unknown authored
        
      Analysis:
      The reason for the inefficent plan was that Item_subselect::is_expensive()
      didn't detect the special case when a subquery was optimized, but had no
      join plan because it either has no table, or its tables have been optimized
      away, or the optimizer detected that the result set is empty.
        
      Solution:
      Identify the special cases above in the Item_subselect::is_expensive(),
      and consider such degenerate subqueries inexpensive.
      08d123b4
    • Vladislav Vaintroub's avatar
      784c6827
    • Igor Babaev's avatar
      Merge 5.3->5.5. · e06c2076
      Igor Babaev authored
      e06c2076
  21. 28 Mar, 2013 2 commits
    • Igor Babaev's avatar
      Merge · 67a307ac
      Igor Babaev authored
      67a307ac
    • Igor Babaev's avatar
      Fixed bug mdev-4311 (bug #68749). · dbdb2865
      Igor Babaev authored
      This bug was introduced by the patch for WL#3220.
      If the memory allocated for the tree to store unique elements
      to be counted is not big enough to include all of them then
      an external file is used to store the elements.
      The unique elements are guaranteed not to be nulls. So, when 
      reading them from the file we don't have to care about the null
      flags of the read values. However, we should remove the flag 
      at the very beginning of the process. If we don't do it and
      if the last value written into the record buffer for the field
      whose distinct values needs to be counted happens to be null,
      then all values read from the file  are considered to be nulls
      and are not counted in.
      The fix does not remove a possible null flag for the read values.
      Rather it just counts the values in the same way it was done
      before WL #3220.
      dbdb2865
  22. 27 Mar, 2013 1 commit