1. 23 Jun, 2010 1 commit
    • Jon Olav Hauglid's avatar
      Backport from mysql-6.0-codebase of: · a1c6a39a
      Jon Olav Hauglid authored
      ------------------------------------------------------------
      revno: 3672
      committer: lars-erik.bjork@sun.com
      branch nick: 48067-mysql-6.0-codebase-bugfixing
      timestamp: Mon 2009-10-26 13:51:43 +0100
      message:
        This is a patch for bug#48067
        "A temp table with the same name as an existing table, makes drop
        database fail"
              
        When dropping the database, mysql_rm_known_files() reads the contents
        of the database directory, and creates a TABLE_LIST object, for each
        .frm file encountered. Temporary tables, however, are not associated 
        with any .frm file.
              
        The list of tables to drop are passed to mysql_rm_table_part2().
        This method prefers temporary tables over regular tables, so if
        there is a temporary table with the same name as a regular, the
        temporary is removed, leaving the regular table intact.
        Regular tables are only deleted if there are no temporary tables
        with the same name.
              
        This fix ensures, that for all TABLE_LIST objects that are created
        by mysql_rm_known_files(), 'open_type' is set to 'OT_BASE_ONLY', to
        indicate that this is a regular table. In all cases in
        mysql_rm_table_part2() where we prefer a temporary table to a
        non-temporary table, we chek if 'open_type' equals 'OT_BASE_ONLY'.
      
      
      mysql-test/r/temp_table.result:
        The expected result of the test.
      mysql-test/t/temp_table.test:
        Test based on the bug report.
      sql/sql_db.cc:
        For all TABLE_LIST objects that are created by mysql_rm_known_files(),
        'open_type' is set to 'OT_BASE_ONLY', to indicate that these are
        regular tables.
      sql/sql_table.cc:
        Check if 'open_type' is set to 'OT_BASE_ONLY, every place a temporary table is
        preferred to a non-temporary table.
      a1c6a39a
  2. 18 Jun, 2010 1 commit
    • Konstantin Osipov's avatar
      A new implementation for the TABLE_SHARE cache in MDL · 429454f7
      Konstantin Osipov authored
      subsystem. Fix a number of caveates that the previous
      implementation suffered from, including unprotected
      access to shared data and lax resource accounting
      (share->ref_count) that could lead to deadlocks.
      
      The new implementation still suffers from a number
      of potential deadlocks in some edge cases, and this is 
      still not enabled by default. Especially since performance
      testing has shown that it gives only marginable (not even 
      exceeding measuring accuracy) improvements.
      
      @todo: 
      - Remove calls to close_cached_tables() with REFRESH_FAST,
      and have_lock, because they break the MDL cache. 
      - rework FLUSH TABLES <list> to not use close_cached_tables()
      - make sure that whenever we set TABLE_SHARE::version to
      0 we free MDL cache references to it.
      
      
      sql/mdl.cc:
        We may cache references to TABLE_SHARE objects in 
        MDL_lock objects for tables. Create a separate
        MDL_lock class to represent a table.
      sql/mdl.h:
        Adjust the MDL caching API to avoid races.
      sql/sql_base.cc:
        Move all caching functionality close together.
        Implement a solution for deadlocks caused by 
        close_cached_tables() when MDL cache is enabled (incomplete).
      sql/sql_yacc.yy:
        Adjust FLUSH rule to do the necessary initialization of
        TABLE_LIST elements used in for FLUSH TABLES <list>, and thus
        work OK with flush_mdl_cache() function.
      429454f7
  3. 17 Jun, 2010 13 commits
  4. 16 Jun, 2010 2 commits
  5. 15 Jun, 2010 13 commits
  6. 14 Jun, 2010 7 commits
    • Vasil Dimov's avatar
      c9a66cdf
    • Bjorn Munch's avatar
      Upmerge and port 46882 · ff435f88
      Bjorn Munch authored
      ff435f88
    • Bjorn Munch's avatar
      Upmerge and port 46882 · ec1d665c
      Bjorn Munch authored
      ec1d665c
    • Bjorn Munch's avatar
      Bug #46882 Suite timeout doesn't kill stray processes · b18902fd
      Bjorn Munch authored
      Kill mysqltest and call mtr_kill_leftovers() before terminating
      b18902fd
    • Tor Didriksen's avatar
      Bug #53261 MTR tests archive_plugin and blackhole_plugin fail when compiling with cmake · f88e6af0
      Tor Didriksen authored
      Let mtr lookup the plugins, rather than hard-coding autotools lib path.
      
      
      mysql-test/include/not_parallel.inc:
        Add new feature for skipping when running in parallel.
      mysql-test/mysql-test-run.pl:
        Use find_plugin to locate plugins.
        Export opt_parallel in environment.
      mysql-test/suite/federated/federated_plugin-master.opt:
        Use plugin dir from mtr.
      mysql-test/suite/federated/federated_plugin.test:
        Skip test, disabled.
      mysql-test/t/archive_plugin-master.opt:
        Use plugin dir from mtr.
      mysql-test/t/archive_plugin.test:
        Skip test if running in parallel.
      mysql-test/t/blackhole_plugin-master.opt:
        Use plugin dir from mtr.
      mysql-test/t/blackhole_plugin.test:
        Skip test if running in parallel.
      f88e6af0
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · ac3c92e4
      Marko Mäkelä authored
      ------------------------------------------------------------
      revno: 3507
      revision-id: marko.makela@oracle.com-20100610125623-ar6qf4w2pv2kr7mb
      parent: sergey.glukhov@sun.com-20100609121718-04mpk5kjxvnrxdu8
      committer: Marko Mäkelä <marko.makela@oracle.com>
      branch nick: 5.1-innodb
      timestamp: Thu 2010-06-10 15:56:23 +0300
      message:
        Bug #38999: Re-enable innodb_multi_update.test
      ac3c92e4
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · 28ec7457
      Marko Mäkelä authored
      ------------------------------------------------------------
      revno: 3506
      revision-id: sergey.glukhov@sun.com-20100609121718-04mpk5kjxvnrxdu8
      parent: sergey.glukhov@sun.com-20100609120734-ndy2281wau9067zv
      committer: Sergey Glukhov <Sergey.Glukhov@sun.com>
      branch nick: mysql-5.1-innodb
      timestamp: Wed 2010-06-09 16:17:18 +0400
      message:
        Bug#38999 valgrind warnings for update statement in function compare_record()
        (InnoDB plugin branch)
      
       @ mysql-test/suite/innodb_plugin/r/innodb_mysql.result
          test case
      
       @ mysql-test/suite/innodb_plugin/t/innodb_mysql.test
          test case
      
       @ storage/innodb_plugin/row/row0sel.c
          init null bytes with default values as they might be
          left uninitialized in some cases and these uninited bytes
          might be copied into mysql record buffer that leads to
          valgrind warnings on next use of the buffer.
      28ec7457
  7. 12 Jun, 2010 2 commits
  8. 11 Jun, 2010 1 commit