1. 26 Jun, 2006 2 commits
    • unknown's avatar
      Merge mysql.com:/home/mydev/mysql-5.0--main · 3f672ff8
      unknown authored
      into  mysql.com:/home/mydev/mysql-5.0-bug16986-main
      
      
      sql/mysql_priv.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      3f672ff8
    • unknown's avatar
      Bug#16986 - Deadlock condition with MyISAM tables · e6d5fe0f
      unknown 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.
      
      
      mysql-test/r/lock_multi.result:
        Bug#16986 - Deadlock condition with MyISAM tables
        Addendum fixes after changing the condition variable
        for the global read lock.
        Added test results.
      mysql-test/t/lock_multi.test:
        Bug#16986 - Deadlock condition with MyISAM tables
        Addendum fixes after changing the condition variable
        for the global read lock.
        Added tests for possible deadlocks that did not occur
        with the stress test suite.
      mysys/thr_lock.c:
        Bug#16986 - Deadlock condition with MyISAM tables
        Addendum fixes after changing the condition variable
        for the global read lock.
        Added a protection against an infinite loop that occurs
        with the test case for Bug #20662.
      sql/lock.cc:
        Bug#16986 - Deadlock condition with MyISAM tables
        Addendum fixes after changing the condition variable
        for the global read lock.
        Signal COND_global_read_lock whenever COND_refresh
        is signalled by using the new function broadcast_refresh().
        Added the definition of a new function that signals 
        COND_global_read_lock whenever COND_refresh is signalled.
      sql/mysql_priv.h:
        Bug#16986 - Deadlock condition with MyISAM tables
        Addendum fixes after changing the condition variable
        for the global read lock.
        Added a declaration for a new function that signals 
        COND_global_read_lock whenever COND_refresh is signalled.
      sql/sql_base.cc:
        Bug#16986 - Deadlock condition with MyISAM tables
        Addendum fixes after changing the condition variable
        for the global read lock.
        Signal COND_global_read_lock whenever COND_refresh
        is signalled by using the new function broadcast_refresh().
      sql/sql_handler.cc:
        Bug#16986 - Deadlock condition with MyISAM tables
        Addendum fixes after changing the condition variable
        for the global read lock.
        Signal COND_global_read_lock whenever COND_refresh
        is signalled by using the new function broadcast_refresh().
      sql/sql_insert.cc:
        Bug#16986 - Deadlock condition with MyISAM tables
        Addendum fixes after changing the condition variable
        for the global read lock.
        Removed global read lock handling from inside of 
        INSERT DELAYED. It is handled on a higher level now.
      sql/sql_parse.cc:
        Bug#16986 - Deadlock condition with MyISAM tables
        Addendum fixes after changing the condition variable
        for the global read lock.
        Wait for the release of a global read lock if one is set
        before every operation that requires a write lock.
        But don't wait if locked tables exist already.
      sql/sql_table.cc:
        Bug#16986 - Deadlock condition with MyISAM tables
        Addendum fixes after changing the condition variable
        for the global read lock.
        Removed global read lock handling from inside of 
        CREATE TABLE. It is handled on a higher level now.
        Signal COND_global_read_lock whenever COND_refresh
        is signalled by using the new function broadcast_refresh().
      e6d5fe0f
  2. 24 Jun, 2006 2 commits
    • unknown's avatar
      Merge knielsen@10.100.52.19:/usr/local/mysql/tmp-5.0 · 1ccd344f
      unknown authored
      into  mysql.com:/data0/knielsen/tmp-5.0
      
      1ccd344f
    • unknown's avatar
      Fix race condition in test case wait_timeout. · d0d405ee
      unknown authored
      Sometimes the helper connection (that is watching for the main connection
      to time out) would itself time out first, causing the test to fail.
      
      
      mysql-test/t/wait_timeout.test:
        Increase connection timeout in connection wait_con so we will not loose
        the connection that is watching for the real wait_timeout to trigger.
      d0d405ee
  3. 23 Jun, 2006 4 commits
    • unknown's avatar
      key.result: · ee658d72
      unknown authored
        After merge fix
      
      
      mysql-test/r/key.result:
        After merge fix
      ee658d72
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0 · ba25fd9c
      unknown authored
      into moonbone.local:/work/tmp_merge-5.0-opt-mysql
      
      
      sql/sql_parse.cc:
        Auto merged
      ba25fd9c
    • unknown's avatar
      Merge moonbone.local:/work/tmp_merge-4.1-opt-mysql · 9609ec0c
      unknown authored
      into moonbone.local:/work/tmp_merge-5.0-opt-mysql
      
      
      mysql-test/r/key.result:
        Auto merged
      mysql-test/t/key.test:
        Auto merged
      sql/table.cc:
        Auto merged
      support-files/mysql.spec.sh:
        Auto merged
      9609ec0c
    • unknown's avatar
      Bug#11228: DESC shows arbitrary column as "PRI" · c7d30f0a
      unknown authored
        An UNIQUE KEY consisting of NOT NULL columns
        was displayed as PRIMARY KEY in "DESC t1".
        According to the code, that was intentional
        behaviour for some reasons unknown to me.
        This code was written before bitkeeper time,
        so I cannot check who and why made this.
        After discussing on dev-public, a decision
        was made to remove this code
      
      
      mysql-test/r/key.result:
        Adding test case.
      mysql-test/t/key.test:
        Adding test case.
      sql/table.cc:
        Removing old wrong code
      c7d30f0a
  4. 22 Jun, 2006 9 commits
    • unknown's avatar
      mysql.spec.sh: · 3f0032f4
      unknown authored
        Disable the simplistic auto dependency scan for test/bench (bug#20078)
      
      
      support-files/mysql.spec.sh:
        Disable the simplistic auto dependency scan for test/bench (bug#20078)
      3f0032f4
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 774da9ec
      unknown authored
      into  mysql.com:/opt/local/work/mysql-5.0-runtime
      
      774da9ec
    • unknown's avatar
      Merge clam.ndb.mysql.com:/space/pekka/ndb/version/my50 · f2533800
      unknown authored
      into  clam.ndb.mysql.com:/space/pekka/ndb/version/my50-bug18781
      
      
      ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Auto merged
      ndb/src/ndbapi/ndberror.c:
        Auto merged
      f2533800
    • unknown's avatar
      Merge mysql.com:/home/tomash/src/mysql_ab/mysql-5.0 · ae58c588
      unknown authored
      into  mysql.com:/home/tomash/src/mysql_ab/mysql-5.0-bug15811
      
      ae58c588
    • unknown's avatar
      Merge mysql.com:/opt/local/work/mysql-5.0-root · 453790d5
      unknown authored
      into  mysql.com:/opt/local/work/mysql-5.0-runtime
      
      453790d5
    • unknown's avatar
      Merge mysql.com:/home/tomash/src/mysql_ab/mysql-5.0 · d21303c0
      unknown authored
      into  mysql.com:/home/tomash/src/mysql_ab/mysql-5.0-bug15811
      
      d21303c0
    • unknown's avatar
      A fix and a test case for Bug#15217 "Using a SP cursor on a table created · 986c79e1
      unknown authored
       with PREPARE fails with weird error".
      More generally, re-executing a stored procedure with a complex SP cursor query
      could lead to a crash.
      
      The cause of the problem was that SP cursor queries were not optimized 
      properly at first execution: their parse tree belongs to sp_instr_cpush,
      not sp_instr_copen, and thus the tree was tagged "EXECUTED" when the
      cursor was declared, not when it was opened. This led to loss of optimization
      transformations performed at first execution, as sp_instr_copen saw that the
      query is already "EXECUTED" and therefore either not ran first-execution 
      related blocks or wrongly rolled back the transformations caused by 
      first-execution code.
      The fix is to update the state of the parsed tree only when the tree is
      executed, as opposed to when the instruction containing the tree is executed.
      Assignment if i->state is moved to reset_lex_and_exec_core.
      
      
      mysql-test/r/sp.result:
        Test results fixed (Bug#15217)
      mysql-test/t/sp.test:
        Add a test case for Bug#15217
      sql/sp_head.cc:
        Move assignment of stmt_arena->state to reset_lex_and_exec_core
      986c79e1
    • unknown's avatar
      Bug#15811: extremely long time for mysql client to execute long INSERT · 53944038
      unknown authored
      The problem was in redundant calls to strlen() in string functions,
      where we may then return after checking only the small number of characters.
      
      No test case is provided since it's a performance fix.
      
      
      strings/ctype-mb.c:
        Do not use strlen() where arbitrary horizon of at least
        CHARSET_INFO::mbmaxlen character is sufficient.
      53944038
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0 · 2510411d
      unknown authored
      into moonbone.local:/work/tmp_merge-5.0-opt-mysql
      
      2510411d
  5. 21 Jun, 2006 23 commits