1. 06 Nov, 2009 7 commits
  2. 05 Nov, 2009 17 commits
  3. 04 Nov, 2009 1 commit
  4. 03 Nov, 2009 10 commits
    • Kristofer Pettersson's avatar
    • Jorgen Loland's avatar
      Bug#48177 - SELECTs with NOT IN subqueries containing NULL · bec35067
      Jorgen Loland authored
                  values return too many records
      
      WHERE clauses with "outer_value_list NOT IN subselect" were
      handled incorrectly if the outer value list contained multiple 
      items where at least one of these could be NULL. The first 
      outer record with NULL value was handled correctly, but if a 
      second record with NULL value existed, the optimizer would 
      choose to reuse the result it got on the last execution of the 
      subselect. This is incorrect if the outer value list has 
      multiple items.
           
      The fix is to make Item_in_optimizer::val_int (in 
      item_cmpfunc.cc) reuse the result of the latest execution
      for NULL values only if all values in the outer_value_list 
      are NULL.
      
      
      mysql-test/r/subselect3.result:
        Added test for BUG#48177
      mysql-test/t/subselect3.test:
        Added test for BUG#48177
      sql/item_cmpfunc.cc:
        Make Item_in_optimizer::val_int (in item_cmpfunc.cc) reuse the result of the latest execution for NULL values only if all values in the outer_value_list are NULL.
      bec35067
    • Mikael Ronstrom's avatar
      Merge · 092cf828
      Mikael Ronstrom authored
      092cf828
    • unknown's avatar
      Manual Merge · 9519c8e5
      unknown authored
      9519c8e5
    • Sergey Vojtovich's avatar
      cd167ee2
    • unknown's avatar
      BUG#48216 Replication fails on all slaves after upgrade to 5.0.86 on master · 98198851
      unknown authored
      When a sessione is closed, all temporary tables of the session are automatically 
      dropped and are binlogged. But it will be binlogged with wrong database names when
      the length of the temporary tables' database names are greater than the 
      length of the current database name or the current database is not set.
      
      Query_log_event's db_len is forgot to set when Query_log_event's db is set.
      This patch wrote code to set db_len immediately after db has set.
      
      
      98198851
    • Sergey Vojtovich's avatar
      Clean-ups after applying InnoDB snapshot 5.1-ss6129: · b703edd7
      Sergey Vojtovich authored
      - disabled main.innodb_bug47777.test with InnoDB plugin
        until fix for plugin is applied.
      - disabled main.innodb-autoinc.test (failing)
      - re-enabled main.innodb_bug39438.test
      - added error message suppression to innodb_bug39438, as
        requested by InnoDB/Oracle
      - reverted change to main.innodb_bug34300 as plugin specific.
      b703edd7
    • Alexander Nozdrin's avatar
      Fix default.conf. · bb5efb2c
      Alexander Nozdrin authored
      bb5efb2c
    • Vladislav Vaintroub's avatar
      merge · b5177748
      Vladislav Vaintroub authored
      b5177748
    • Vladislav Vaintroub's avatar
      Bug #47423 mtr connects to wrong database · 2377eed3
      Vladislav Vaintroub authored
      The reason for the bug is that mysqtest as well as other client tools
      running in test suite (mysqlbinlog, mysqldump) will first try to connect 
      whatever database has created shared memory with default base name 
      "MySQL" and use this. (Same effect could be seen on Unix if mtr would
      not care to calculate "port" and "socket" parameter).
            
      The fix ensures that all client tools and  running in mtr use unique  
      per-database shared memory base parameters, so there is no possibility
      to clash with already installed one. We use socket name for shared memory 
      base (it's known to be unique). This shared-memory-base is written to the
      MTR config file to the [client] and [mysqld] sections. Fix made also made 
      sure all client tools understand and correctly handle --shared-memory-base.
      Prior to this patch  it was not the case for  mysqltest, mysqlbinlog and 
      mysql_client_test.
            
      All new connections done from mtr scripts via connect() will by default 
      set shared-memory-base. And finally, there is a possibility to force 
      shared memory or pipe connection and overwrite shared memory/pipe base name
      from within mtr scripts via optional PIPE or SHM modifier. This functionality
      was manually backported from 6.0
      (original patch  http://lists.mysql.com/commits/74749)
      2377eed3
  5. 02 Nov, 2009 5 commits
    • Vladislav Vaintroub's avatar
      Bug#47571: idle named pipe connection is unkillable · e0800807
      Vladislav Vaintroub authored
      Bug#31621: Windows server hanging during shutdown using named pipes 
                 and idle connection
                  
      Problem: when idle pipe connection is forcefully closed with KILL
      statement or when the server goes down, thread that is closing connection
      would hang infinitely in CloseHandle(). The reason for the hang is that 
      named pipe operations are performed synchronously. In this mode all IOs
      on pipe are serialized, that is CloseHandle() will not abort ReadFile() 
      in another thread, but wait for ReadFile() to complete.
                  
      The fix implements asynchrnous mode for named pipes, where operation of file
      are not synchronized. Read/Write operation would fire an async IO and wait for
      either IO completion or timeout.
                  
      Note, that with this patch timeouts are properly handled for named pipes.
            
      Post-review: Win32 timeout code has been fixed for named pipes and shared
      memory. We do not store pointer to NET in vio structure, only the read and 
      write timeouts.
      
      
      include/violite.h:
        Add pipe_overlapped to Vio structure for async IO for named pipes.
      sql-common/client.c:
        Use asynchronous pipe IO.
      sql/mysqld.cc:
        Use asynchronous pipe IO.
      vio/vio.c:
        -Refactor timeouts for win32 protocols: shared memory and named pipes.
        Store read/write timeout in VIO structure, instead of storing pointer
        to NET. New function vio_win32_timeout called indirectly via 
        vio_timeout changes these values.
      vio/vio_priv.h:
        Remove vio_ignore_timeout.
        Add vio_win32_timeout to be used for named pipes and shared memory.
      vio/viosocket.c:
        Use async IO for named pipes.
        After issuing IO, wait for either IO completion, pipe_close_event
        or timeout.
                
        Refactor timeouts for named pipe and shared memory.
      e0800807
    • Davi Arnaut's avatar
      Automerge. · d87301d7
      Davi Arnaut authored
      d87301d7
    • Mikael Ronstrom's avatar
      Fixed test failure · 9c825ffc
      Mikael Ronstrom authored
      9c825ffc
    • Davi Arnaut's avatar
      Bug#44952: Ndbd file system inconsistency error · e077bb49
      Davi Arnaut authored
      Backport a ndb patch: fix bug with crash during restart, where
      a mbyte incorrectly could be skipped, leading to "end of log
      wo/ finding gci".
      e077bb49
    • Alexander Barkov's avatar
      Merging a postfix for Bug#46633 Obsolete Serbian locale · 551314f5
      Alexander Barkov authored
      from mysql-next-mr-bar
      551314f5