1. 29 Nov, 2007 1 commit
    • unknown's avatar
      Bug#23713 LOCK TABLES + CREATE TRIGGER + FLUSH TABLES WITH READ LOCK = deadlock · 09e83e9e
      unknown authored
      This bug is actually two bugs in one, one of which is CREATE TRIGGER under
      LOCK TABLES and the other is CREATE TRIGGER under LOCK TABLES simultaneous
      to a FLUSH TABLES WITH READ LOCK (global read lock). Both situations could
      lead to a server crash or deadlock.
      
      The first problem arises from the fact that when under LOCK TABLES, if the
      table is in the set of locked tables, the table is already open and it doesn't
      need to be reopened (not a placeholder). Also in this case, if the table is
      not write locked, a exclusive lock can't be acquired because of a possible
      deadlock with another thread also holding a (read) lock on the table. The
      second issue arises from the fact that one should never wait for a global
      read lock if it's holding any locked tables, because the global read lock
      is waiting for these tables and this leads to a circular wait deadlock.
      
      The solution for the first case is to check if the table is write locked
      and upgraded the write lock to a exclusive lock and fail otherwise for non
      write locked tables. Grabbin the exclusive lock in this case also means
      to ensure that the table is opened only by the calling thread. The second
      issue is partly fixed by not waiting for the global read lock if the thread
      is holding any locked tables.
      
      The second issue is only partly addressed in this patch because it turned
      out to be much wider and also affects other DDL statements. Reported as
      Bug#32395
      
      
      mysql-test/r/trigger.result:
        Add test case result for Bug#23713
      mysql-test/r/trigger_notembedded.result:
        Add test case result for Bug#23713
      mysql-test/t/trigger.test:
        Add test case for Bug#23713
      mysql-test/t/trigger_notembedded.test:
        Add test case for Bug#23713
      sql/mysql_priv.h:
        Locally export wait_while_table_is_used and name_lock_locked_table
        and add flag to mysql_ha_rm_tables to signal that LOCK_open is locked.
      sql/sql_base.cc:
        Introduce name_lock_locked_table function and match
        close_old_data_files function declaration and definition.
      sql/sql_handler.cc:
        Add flag to mysql_ha_rm_tables to signal that LOCK_open is locked.
      sql/sql_rename.cc:
        Fix mysql_ha_rm_tables caller.
      sql/sql_table.cc:
        Export wait_while_table_is_used and assert that LOCK_open is locked
        and fix mysql_ha_rm_tables caller.
      sql/sql_trigger.cc:
        Upgrade write locked tables to a exclusive lock and fail if
        the table is not write locked. Also, don't wait for the global
        read lock if under LOCK TABLES.
      09e83e9e
  2. 28 Nov, 2007 13 commits
  3. 27 Nov, 2007 16 commits
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-axmrg · 5fb406fb
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.1-axmrg
      
      
      client/mysql.cc:
        Auto merged
      mysql-test/r/archive.result:
        Auto merged
      mysql-test/r/ctype_ucs.result:
        Auto merged
      mysql-test/t/archive.test:
        Auto merged
      mysql-test/t/ctype_uca.test:
        Auto merged
      mysql-test/t/ctype_ucs.test:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      mysql-test/t/disabled.def:
        Manual merge from 5.0
      mysql-test/t/subselect.test:
        Manual merge from 5.0
      5fb406fb
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.1-amain · b44f0623
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.1-axmrg
      
      
      include/my_base.h:
        Auto merged
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/suite/ndb/t/disabled.def:
        Auto merged
      mysql-test/t/partition.test:
        Auto merged
      sql/handler.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/slave.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      client/mysql.cc:
        Manual merge
      mysql-test/suite/rpl/t/disabled.def:
        Manual merge
      b44f0623
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-ateam · c5499ef8
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      c5499ef8
    • unknown's avatar
      after-merge fixup: archive test/result adjusted. · 35599f74
      unknown authored
      35599f74
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-ateam · c1e7d906
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      c1e7d906
    • unknown's avatar
      Bug#8693 Test 'rpl_log_pos' fails sometimes · a8f8ca42
      unknown authored
      Disabled the test case.
      
      a8f8ca42
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.0-engines · 96cb42f6
      unknown authored
      into  mysql.com:/home/ram/work/b30495/b30495.5.0
      
      96cb42f6
    • unknown's avatar
      Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-base · dc315c9c
      unknown authored
      into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-rt-merge
      
      
      sql/mysqld.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      dc315c9c
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.1-engines · 551aaa9c
      unknown authored
      into  mysql.com:/home/ram/work/b30495/b30495.5.1
      
      551aaa9c
    • unknown's avatar
      Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-base · 52d14940
      unknown authored
      into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-rt-merge
      
      
      sql/mysqld.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      52d14940
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-amain · 7e6cd08f
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      
      sql/item_cmpfunc.cc:
        Auto merged
      7e6cd08f
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.0-engines · 4a115f68
      unknown authored
      into  mysql.com:/home/ram/work/b30495/b30495.5.0
      
      4a115f68
    • unknown's avatar
      Disabling several tests that fail and reported as errors. · 7441a800
      unknown authored
      
      mysql-test/suite/ndb/t/disabled.def:
        Disabling failing tests.
      mysql-test/suite/rpl/t/disabled.def:
        Disabling failing tests.
      mysql-test/suite/rpl/t/rpl_ssl.test:
        Disabling part of test that fails.
      7441a800
    • unknown's avatar
      after-merge fix: · bcb5593d
      unknown authored
        - archive test/result adjusted.
        - OPTIMIZE/ANALYZE PARTITION EXTENDED test case added.
      
      
      mysql-test/r/archive.result:
        after-merge fix:
          - archive test/result adjusted.
      mysql-test/r/partition.result:
        after-merge fix:
          - test case added.
      mysql-test/t/archive.test:
        after-merge fix:
          - archive test/result adjusted.
      mysql-test/t/partition.test:
        after-merge fix:
          - test case added.
      bcb5593d
    • unknown's avatar
      Bug#32754 - InnoDB tests do not prepare or clean up correctly · 4182a3b1
      unknown authored
      Some test cases were missing preparation to deal with failed
      predecessor test cases.
      
      Added preparation (drop table if exists) to some test cases.
      
      
      mysql-test/include/innodb_rollback_on_timeout.inc:
        Bug#32754 - InnoDB tests do not prepare or clean up correctly
        Added preparation (drop table if exists).
      mysql-test/r/innodb-semi-consistent.result:
        Bug#32754 - InnoDB tests do not prepare or clean up correctly
        Fixed test result.
      mysql-test/r/innodb-ucs2.result:
        Bug#32754 - InnoDB tests do not prepare or clean up correctly
        Fixed test result.
      mysql-test/r/innodb_mysql.result:
        Bug#32754 - InnoDB tests do not prepare or clean up correctly
        Fixed test result.
      mysql-test/r/innodb_timeout_rollback.result:
        Bug#32754 - InnoDB tests do not prepare or clean up correctly
        Fixed test result.
      mysql-test/t/innodb-semi-consistent.test:
        Bug#32754 - InnoDB tests do not prepare or clean up correctly
        Added preparation (drop table if exists).
      mysql-test/t/innodb-ucs2.test:
        Bug#32754 - InnoDB tests do not prepare or clean up correctly
        Added preparation (drop table if exists).
      4182a3b1
    • unknown's avatar
      Merge mysql.com:/home/ram/work/b30495/b30495.5.0 · df1e9ab0
      unknown authored
      into  mysql.com:/home/ram/work/b30495/b30495.5.1
      
      
      mysql-test/r/analyze.result:
        Auto merged
      mysql-test/t/analyze.test:
        Auto merged
      sql/sql_yacc.yy:
        5.0 -> 5.1 manual merging (see bug #30495: optimize table t1,t2,t3 extended errors):
        CHECK options disabled for ANALYZE/OPTIMIZE PARTITION.
      df1e9ab0
  4. 26 Nov, 2007 10 commits
    • unknown's avatar
      Merge pilot.mysql.com:/data/msvensson/mysql/bug32429/my50-bug32429 · 7146ee9d
      unknown authored
      into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-runtime
      
      7146ee9d
    • unknown's avatar
      Remove disabling of testcases · 3817f07c
      unknown authored
      3817f07c
    • unknown's avatar
      Bug#25146 Some warnings/errors not shown when using --show-warnings · 204fe148
      unknown authored
       - Additional patch to fix compiler warnings
      
      
      client/mysql.cc:
        Initialize warnings to 0 to avid compiler warning
        Call 'print_warnings' also when error occured
      mysql-test/r/mysql.result:
        Change test to make is possible to see that second set of warnings
        are from second invocation of mysql
      mysql-test/t/mysql.test:
        Change test to make is possible to see that second set of warnings
        are from second invocation of mysql
      204fe148
    • unknown's avatar
      Revert · 379e98ac
      unknown authored
      379e98ac
    • unknown's avatar
      Merge kpettersson@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · e4d373f2
      unknown authored
      into  adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
      
      e4d373f2
    • unknown's avatar
      Merge adventure.(none):/home/thek/Development/cpp/bug16470/my51-bug16470 · 63b292da
      unknown authored
      into  adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
      
      
      mysql-test/r/grant.result:
        Auto merged
      mysql-test/t/grant.test:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      sql/sql_parse.cc:
        manual merge
      63b292da
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-axmrg · 6c77bae3
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.1-axmrg
      
      
      mysql-test/r/delayed.result:
        Auto merged
      mysql-test/t/delayed.test:
        Auto merged
      6c77bae3
    • unknown's avatar
      Bug#20830 - INSERT DELAYED does not honour SET INSERT_ID · 31e591fa
      unknown authored
      Bug#20627 - INSERT DELAYED does not honour auto_increment_* variables
      Fixed wrong variable assignment.
      
      31e591fa
    • unknown's avatar
      Merge mysql.com:/Users/davi/mysql/bugs/29592-5.0 · 44a1eada
      unknown authored
      into  mysql.com:/Users/davi/mysql/bugs/29592-5.1
      
      
      include/mysql.h:
        Auto merged
      libmysql/libmysql.c:
        Auto merged
      libmysql/libmysql.def:
        Auto merged
      libmysqld/libmysqld.def:
        Auto merged
      include/mysql_h.ic:
        Update ABI check file.
      44a1eada
    • unknown's avatar
      Bug#16470 crash on grant if old grant tables · 5fad7671
      unknown authored
      Loading 4.1 into 5.0 or 5.1 failed silently because procs_priv table missing.
      This caused the server to crash on any attempt to store new grants because
      of uninitialized structures.
      
      This patch breaks up the grant loading function into two phases to allow
      for procs_priv table to fail with an warning instead of crashing the server.
      
      
      mysql-test/r/grant.result:
        Test case
      mysql-test/t/grant.test:
        Test case making sure that FLUSH PRIVILEGES doesn't crash the server if
        procs_priv is removed.
      sql/sql_acl.cc:
        - Refactored grant_reload into two phases: 1. open and lock tables_priv and 
          columns_priv tables, read the data, close tables. 2. open and lock
          procs_priv, read data, close table. Since the tables are independant of
          each other there will be no race conditions and it will be possible to
          handle situations where the procs_priv table isn't present.
        - Refactored the helper function grant_load into new grant_load (without
          procs_priv table) and grant_load_procs_priv.
      sql/sql_parse.cc:
        - Changed comment style to doxygen style.
      5fad7671