An error occurred fetching the project authors.
  1. 03 Mar, 2009 1 commit
  2. 09 Oct, 2008 1 commit
    • Gleb Shchepa's avatar
      Bug#38499: flush tables and multitable table update with · 0b38c93d
      Gleb Shchepa authored
                 derived table cause crash
      
      When a multi-UPDATE command fails to lock some table, and
      subsequently succeeds, the tables need to be reopened if
      they were altered. But the reopening procedure failed for
      derived tables.
      
      Extra cleanup has been added.
      0b38c93d
  3. 07 Oct, 2008 1 commit
    • Gleb Shchepa's avatar
      Bug #38691: segfault/abort in ``UPDATE ...JOIN'' while · e219979e
      Gleb Shchepa authored
                ``FLUSH TABLES WITH READ LOCK''
      
      Concurrent execution of 1) multitable update with a
      NATURAL/USING join and 2) a such query as "FLUSH TABLES
      WITH READ LOCK" or "ALTER TABLE" of updating table led
      to a server crash.
      
      
      The mysql_multi_update_prepare() function call is optimized
      to lock updating tables only, so it postpones locking to
      the last, and if locking fails, it does cleanup of modified
      syntax structures and repeats a query analysis.  However,
      that cleanup procedure was incomplete for NATURAL/USING join
      syntax data: 1) some Field_item items pointed into freed
      table structures, and 2) the TABLE_LIST::join_columns fields
      was not reset.
      
      Major change:
        short-living Field *Natural_join_column::table_field has
        been replaced with long-living Item*.
      e219979e
  4. 28 Nov, 2007 1 commit
    • davi@mysql.com/endora.local's avatar
      Bug#31479 Bad lock interaction if CREATE TABLE LIKE is killed · bd3f76d7
      davi@mysql.com/endora.local authored
      Kill of a CREATE TABLE source_table LIKE statement waiting for a
      name-lock on the source table causes a bad lock interaction.
      
      The mysql_create_like_table() has a bug that if the connection is
      killed while waiting for the name-lock on the source table, it will
      jump to the wrong error path and try to unlock the source table and
      LOCK_open, but both weren't locked.
      
      The solution is to simple return when the name lock request is killed,
      it's safe to do so because no lock was acquired and no cleanup is needed.
      
      Original bug report also contains description of other problems
      related to this scenario but they either already fixed in 5.1 or
      will be addressed separately (see bug report for details).
      bd3f76d7
  5. 26 Feb, 2007 1 commit
  6. 26 Dec, 2006 1 commit
  7. 23 Oct, 2006 1 commit
  8. 28 Sep, 2006 1 commit
  9. 26 Jun, 2006 1 commit
    • ingo@mysql.com's avatar
      Bug#16986 - Deadlock condition with MyISAM tables · d27a15a8
      ingo@mysql.com authored
      Addendum fixes after changing the condition variable
      for the global read lock.
      
      The stress test suite revealed some deadlocks. Some were
      related to the new condition variable (COND_global_read_lock)
      and some were general problems with the global read lock.
      
      It is now necessary to signal COND_global_read_lock whenever 
      COND_refresh is signalled.
      
      We need to wait for the release of a global read lock if one 
      is set before every operation that requires a write lock.
      But we must not wait if we have locked tables by LOCK TABLES.
      After setting a global read lock a thread waits until all
      write locks are released.
      d27a15a8
  10. 20 Jun, 2006 1 commit
    • elliot@mysql.com's avatar
      Applying patch from SergeyV · 37e5ec9f
      elliot@mysql.com authored
      Fixes bug#17264, for alter table on win32 for successfull operation completion
      it is used TL_WRITE(=10) lock instead of TL_WRITE_ALLOW_READ(=6), however here
      in innodb handler TL_WRTIE is lifted to TL_WRITE_ALLOW_WRITE, which causes
      race condition when several clients do alter table simultaneously.
      37e5ec9f
  11. 29 May, 2006 1 commit
    • ingo@mysql.com's avatar
      Bug#19815 - CREATE/RENAME/DROP DATABASE can deadlock on a global read lock · d00441e3
      ingo@mysql.com authored
      The order of acquiring LOCK_mysql_create_db
      and wait_if_global_read_lock() was wrong. It could happen
      that a thread held LOCK_mysql_create_db while waiting for
      the global read lock to be released. The thread with the
      global read lock could try to administrate a database too.
      It would first try to lock LOCK_mysql_create_db and hang...
      
      The check if the current thread has the global read lock
      is done in wait_if_global_read_lock(), which could not be
      reached because of the hang in LOCK_mysql_create_db.
      
      Now I exchanged the order of acquiring LOCK_mysql_create_db
      and wait_if_global_read_lock(). This makes 
      wait_if_global_read_lock() fail with an error message for
      the thread with the global read lock. No deadlock happens.
      d00441e3
  12. 24 May, 2006 1 commit
    • monty@mysql.com's avatar
      More DBUG statements · 9e9ca8b6
      monty@mysql.com authored
      Replaced COND_refresh with COND_global_read_lock becasue of a bug in NTPL threads when using different mutexes as arguments to pthread_cond_wait()
      The original code caused a hang in FLUSH TABLES WITH READ LOCK in some circumstances because pthread_cond_broadcast() was not delivered to other threads.
      This fixes:
      Bug#16986: Deadlock condition with MyISAM tables
      Bug#20048: FLUSH TABLES WITH READ LOCK causes a deadlock
      9e9ca8b6
  13. 28 Jul, 2005 1 commit
  14. 03 Jun, 2005 1 commit
  15. 02 Oct, 2004 1 commit
  16. 04 Mar, 2003 1 commit
  17. 05 Jan, 2003 1 commit
  18. 30 Aug, 2002 1 commit
  19. 08 Oct, 2001 1 commit
    • monty@hundin.mysql.fi's avatar
      Updated manual about embedded version. · 88aff4bf
      monty@hundin.mysql.fi authored
      Speed up column-completion in 'mysql'
      Don't use ISAM if HAVE_ISAM is not defined
      A lot of fixes for the embedded version.  All libraries are now included in libmysqld.a
      Changed arguments to convert_dirname() to make it more general.
      Renamed files in the 'merge' directory to all use a common prefix.
      Don't compile both assembler and C functions on x86
      88aff4bf