1. 11 Apr, 2013 3 commits
  2. 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
  3. 06 Apr, 2013 3 commits
  4. 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
  5. 05 Apr, 2013 2 commits
  6. 04 Apr, 2013 5 commits
  7. 01 Apr, 2013 1 commit
  8. 29 Mar, 2013 1 commit
  9. 28 Mar, 2013 1 commit
  10. 03 Apr, 2013 1 commit
  11. 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
  12. 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
  13. 27 Mar, 2013 2 commits
  14. 26 Mar, 2013 6 commits
  15. 25 Mar, 2013 1 commit
  16. 23 Mar, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-4318. · a0e80d5e
      Igor Babaev authored
      In some cases, when using views the optimizer incorrectly determined
      possible join orders for queries with nested outer and inner joins.
      This could lead to invalid execution plans for such queries.
      a0e80d5e
  17. 22 Mar, 2013 1 commit
  18. 21 Mar, 2013 2 commits
  19. 20 Mar, 2013 3 commits