1. 29 Nov, 2007 1 commit
    • unknown's avatar
      Bug#23713 LOCK TABLES + CREATE TRIGGER + FLUSH TABLES WITH READ LOCK = deadlock · 87143063
      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.
      87143063
  2. 28 Nov, 2007 13 commits
  3. 27 Nov, 2007 16 commits
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-axmrg · f0ac4a74
      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
      f0ac4a74
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.1-amain · 30aee30b
      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
      30aee30b
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-ateam · 8a7f5a1d
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      
      8a7f5a1d
    • unknown's avatar
      after-merge fixup: archive test/result adjusted. · 1a73853c
      unknown authored
      1a73853c
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-ateam · 76468de8
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      
      76468de8
    • unknown's avatar
      Bug#8693 Test 'rpl_log_pos' fails sometimes · ae5ff26d
      unknown authored
      Disabled the test case.
      
      
      ae5ff26d
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.0-engines · 061ac497
      unknown authored
      into  mysql.com:/home/ram/work/b30495/b30495.5.0
      
      
      061ac497
    • unknown's avatar
      Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-base · 8bfcdce0
      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
      8bfcdce0
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.1-engines · 9f1043b5
      unknown authored
      into  mysql.com:/home/ram/work/b30495/b30495.5.1
      
      
      9f1043b5
    • unknown's avatar
      Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-base · 77ab800e
      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
      77ab800e
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-amain · 6288fde2
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      
      sql/item_cmpfunc.cc:
        Auto merged
      6288fde2
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.0-engines · 51e24c02
      unknown authored
      into  mysql.com:/home/ram/work/b30495/b30495.5.0
      
      
      51e24c02
    • unknown's avatar
      Disabling several tests that fail and reported as errors. · 54953ec2
      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.
      54953ec2
    • unknown's avatar
      after-merge fix: · 42853d17
      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.
      42853d17
    • unknown's avatar
      Bug#32754 - InnoDB tests do not prepare or clean up correctly · 8784957e
      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).
      8784957e
    • unknown's avatar
      Merge mysql.com:/home/ram/work/b30495/b30495.5.0 · 7eb5a83d
      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.
      7eb5a83d
  4. 26 Nov, 2007 10 commits
    • unknown's avatar
      Merge pilot.mysql.com:/data/msvensson/mysql/bug32429/my50-bug32429 · 7917c7c0
      unknown authored
      into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-runtime
      
      
      7917c7c0
    • unknown's avatar
      Remove disabling of testcases · ec3976ed
      unknown authored
      ec3976ed
    • unknown's avatar
      Bug#25146 Some warnings/errors not shown when using --show-warnings · 53cf1921
      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
      53cf1921
    • unknown's avatar
      Revert · 835dcc09
      unknown authored
      835dcc09
    • unknown's avatar
      Merge kpettersson@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 6b15ed1c
      unknown authored
      into  adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
      
      
      6b15ed1c
    • unknown's avatar
      Merge adventure.(none):/home/thek/Development/cpp/bug16470/my51-bug16470 · f1ad502a
      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
      f1ad502a
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-axmrg · 58316f29
      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
      58316f29
    • unknown's avatar
      Bug#20830 - INSERT DELAYED does not honour SET INSERT_ID · 6cbb7d2f
      unknown authored
      Bug#20627 - INSERT DELAYED does not honour auto_increment_* variables
      Fixed wrong variable assignment.
      
      
      6cbb7d2f
    • unknown's avatar
      Merge mysql.com:/Users/davi/mysql/bugs/29592-5.0 · 08e232b9
      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.
      08e232b9
    • unknown's avatar
      Bug#16470 crash on grant if old grant tables · 1ddb4722
      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.
      1ddb4722