1. 29 Jan, 2010 3 commits
    • sunny's avatar
      branches/5.1: Undo r6536. · 80fd4687
      sunny authored
      80fd4687
    • sunny's avatar
      branches/5.1: Check *first_value everytime against the column max · 6ca11690
      sunny authored
      value and  set *first_value to next autoinc if it's > col max value.
      ie.  not rely on what is passed in from MySQL.
      
      [49497] Error 1467 (ER_AUTOINC_READ_FAILED) on inserting a negative value
      rb://236
      6ca11690
    • sunny's avatar
      branches/5.1: Undo the change from r6424. We need to return DB_SUCCESS even · ce82592e
      sunny authored
      if we were unable to initialize the tabe autoinc value. This is required for
      the open to succeed. The only condition we currently treat as a hard error
      is if the autoinc field instance passed in by MySQL is NULL.
      
      Previously if the table autoinc value was 0 and the next value was requested
      we had an assertion that would fail. Change that assertion and treat a value
      of 0 to mean that the autoinc system is unavailable. Generation of next
      value will now return failure.
      
      rb://237
      ce82592e
  2. 21 Jan, 2010 3 commits
  3. 15 Jan, 2010 1 commit
  4. 12 Jan, 2010 3 commits
    • marko's avatar
      branches/5.1: In innobase_initialize_autoinc(), do not attempt to read · 04e0ee05
      marko authored
      the maximum auto-increment value from the table if
      innodb_force_recovery is set to at least 4, so that writes are
      disabled. (Bug #46193)
      
      innobase_get_int_col_max_value(): Move the function definition before
      ha_innobase::innobase_initialize_autoinc(), because that function now
      calls this function.
      
      ha_innobase::innobase_initialize_autoinc(): Change the return type to
      void.  Do not attempt to read the maximum auto-increment value from
      the table if innodb_force_recovery is set to at least 4.  Issue
      ER_AUTOINC_READ_FAILED to the client when the auto-increment value
      cannot be read.
      
      rb://144 by Sunny, revised by Marko
      04e0ee05
    • marko's avatar
      branches/5.1: Non-functional change: · cf1356b7
      marko authored
      Make innobase_get_int_col_max_value() a static function.
      It does not access any fields of class ha_innobase.
      cf1356b7
    • jyang's avatar
      branches/5.1: Fix bug #49238: Creating/Dropping a temporary table · e3e3bdcc
      jyang authored
      while at 1023 transactions will cause assert. Handle possible
      DB_TOO_MANY_CONCURRENT_TRXS when deleting metadata in
      row_drop_table_for_mysql().
      
      rb://220, approved by Marko
      e3e3bdcc
  5. 22 Dec, 2009 3 commits
    • marko's avatar
    • marko's avatar
      branches/5.1: lock_print_info_summary(): Remove a reference to · 5b0b143e
      marko authored
      innobase_mysql_end_print_arbitrary_thd() that should have been
      removed in r6347 when removing the function.
      5b0b143e
    • marko's avatar
      branches/5.1: Merge a change from MySQL: · ee656d0b
      marko authored
      ------------------------------------------------------------
      revno: 3236
      committer: Satya B <satya.bn@sun.com>
      branch nick: mysql-5.1-bugteam
      timestamp: Tue 2009-12-01 17:48:57 +0530
      message:
        merge to mysql-5.1-bugteam
          ------------------------------------------------------------
          revno: 3234.1.1
          committer: Gleb Shchepa <gshchepa@mysql.com>
          branch nick: mysql-5.1-bugteam
          timestamp: Tue 2009-12-01 14:38:40 +0400
          message:
            Bug #38883 (reopened): thd_security_context is not thread safe, crashes?
      
            manual merge 5.0-->5.1, updating InnoDB plugin.
          ------------------------------------------------------------
          revno: 1810.3968.13
          committer: Gleb Shchepa <gshchepa@mysql.com>
          branch nick: mysql-5.0-bugteam
          timestamp: Tue 2009-12-01 14:24:44 +0400
          message:
            Bug #38883 (reopened): thd_security_context is not thread safe, crashes?
      
            The bug 38816 changed the lock that protects THD::query from
            LOCK_thread_count to LOCK_thd_data, but didn't update the associated
            InnoDB functions.
      
            1. The innobase_mysql_prepare_print_arbitrary_thd and the
            innobase_mysql_end_print_arbitrary_thd InnoDB functions have been
            removed, since now we have a per-thread mutex: now we don't need to wrap
            several inter-thread access tries to THD::query with a single global
            LOCK_thread_count lock, so we can simplify the code.
      
            2. The innobase_mysql_print_thd function has been modified to lock
            LOCK_thd_data in direct way.
      ee656d0b
  6. 17 Dec, 2009 1 commit
  7. 15 Dec, 2009 1 commit
    • marko's avatar
      branches/5.1: Merge r4922 from branches/zip. · c4cdbe88
      marko authored
      This the fix for the first part of Bug #41609 from InnoDB Plugin to
      the built-in InnoDB in MySQL 5.1. This allows InnoDB Hot Backup to
      back up a database while the built-in InnoDB in MySQL 5.1 is creating
      temporary tables. (This fix does not address the printouts about
      missing .ibd files for temporary tables at InnoDB startup, which was
      committed to branches/zip in r6252.)
      
      rb://219 approved by Sunny Bains.
      
      branches/zip: Distinguish temporary tables in MLOG_FILE_CREATE.
      This addresses Mantis Issue #23 in InnoDB Hot Backup and some
      of MySQL Bug #41609.
      
      In MLOG_FILE_CREATE, we need to distinguish temporary tables, so that
      InnoDB Hot Backup can work correctly.  It turns out that we can do this
      easily, by using a bit of the previously unused parameter for page number.
      (The page number parameter of MLOG_FILE_CREATE has been written as 0 
      ever since MySQL 4.1, which introduced MLOG_FILE_CREATE.)
      
      MLOG_FILE_FLAG_TEMP: A flag for indicating a temporary table in
      the page number parameter of MLOG_FILE_ operations.
      
      fil_op_write_log(): Add the parameter log_flags.
      
      fil_op_log_parse_or_replay(): Add the parameter log_flags.
      Do not replay MLOG_FILE_CREATE when MLOG_FILE_FLAG_TEMP is set in log_flags.
      This only affects ibbackup --apply-log.  InnoDB itself never replays file
      operations.
      c4cdbe88
  8. 14 Dec, 2009 1 commit
  9. 27 Nov, 2009 1 commit
    • vasil's avatar
      branches/5.1: · 3474b4a5
      vasil authored
      Minor changes to support plugin snapshots.
      3474b4a5
  10. 25 Nov, 2009 5 commits
  11. 24 Nov, 2009 1 commit
  12. 20 Nov, 2009 2 commits
  13. 19 Nov, 2009 2 commits
  14. 18 Nov, 2009 2 commits
  15. 11 Nov, 2009 2 commits
    • vasil's avatar
      branches/5.1: · 56526769
      vasil authored
      Merge a change from MySQL:
      (this has been reviewed by Calvin and Marko, and Calvin says Luis has
      incorporated Marko's suggestions)
      
        ------------------------------------------------------------
        revno: 3092.5.1
        committer: Luis Soares <luis.soares@sun.com>
        branch nick: mysql-5.1-bugteam
        timestamp: Thu 2009-09-24 15:52:52 +0100
        message:
          BUG#42829: binlogging enabled for all schemas regardless of
          binlog-db-db / binlog-ignore-db
                
          InnoDB will return an error if statement based replication is used
          along with transaction isolation level READ-COMMITTED (or weaker),
          even if the statement in question is filtered out according to the
          binlog-do-db rules set. In this case, an error should not be printed.
                
          This patch addresses this issue by extending the existing check in
          external_lock to take into account the filter rules before deciding to
          print an error. Furthermore, it also changes decide_logging_format to
          take into consideration whether the statement is filtered out from 
          binlog before decision is made.
        added:
          mysql-test/suite/binlog/r/binlog_stm_do_db.result
          mysql-test/suite/binlog/t/binlog_stm_do_db-master.opt
          mysql-test/suite/binlog/t/binlog_stm_do_db.test
        modified:
          sql/sql_base.cc
          sql/sql_class.cc
          storage/innobase/handler/ha_innodb.cc
          storage/innobase/handler/ha_innodb.h
          storage/innodb_plugin/handler/ha_innodb.cc
          storage/innodb_plugin/handler/ha_innodb.h
      56526769
    • calvin's avatar
      branches/5.1: fix bug#3139: Mysql crashes: 'windows error 995' · 9ca18bed
      calvin authored
      after several selects on a large DB
      
      During stress environment, Windows AIO may fail with error code
      ERROR_OPERATION_ABORTED. InnoDB does not handle the error, rather
      crashes. The cause of the error is unknown, but likely due to
      faulty hardware or driver.
      
      This patch introduces a new error code OS_FILE_OPERATION_ABORTED,
      which maps to Windows ERROR_OPERATION_ABORTED (995). When the error
      is detected during AIO, the InnoDB will issue a synchronous retry
      (read/write).
      
      This patch has been extensively tested by MySQL support.
      
      Approved by: Marko
      rb://196
      9ca18bed
  16. 10 Nov, 2009 1 commit
  17. 09 Nov, 2009 2 commits
    • vasil's avatar
      branches/5.1: · 2c140ed3
      vasil authored
      Merge a part of r2911.5.5 from MySQL:
      (the other part of this was merged in c5700)
      
        ------------------------------------------------------------
        revno: 2911.5.5
        committer: Vladislav Vaintroub <vvaintroub@mysql.com>
        branch nick: 5.1-innodb_plugin
        timestamp: Wed 2009-06-10 10:59:49 +0200
        message:
          Backport WL#3653 to 5.1 to enable bundled innodb plugin.
          Remove custom DLL loader code from innodb plugin code, use 
          symbols exported from mysqld.
        removed:
          storage/innodb_plugin/handler/handler0vars.h
          storage/innodb_plugin/handler/win_delay_loader.cc
        added:
          storage/mysql_storage_engine.cmake
          win/create_def_file.js
        modified:
          CMakeLists.txt
          include/m_ctype.h
          include/my_global.h
          include/my_sys.h
          include/mysql/plugin.h
          libmysqld/CMakeLists.txt
          mysql-test/mysql-test-run.pl
          mysql-test/t/plugin.test
          mysql-test/t/plugin_load-master.opt
          mysys/charset.c
          sql/CMakeLists.txt
          sql/handler.h
          sql/mysql_priv.h
          sql/mysqld.cc
          sql/sql_class.cc
          sql/sql_class.h
          sql/sql_list.h
          sql/sql_profile.h
          storage/Makefile.am
          storage/archive/CMakeLists.txt
          storage/blackhole/CMakeLists.txt
          storage/csv/CMakeLists.txt
          storage/example/CMakeLists.txt
          storage/federated/CMakeLists.txt
          storage/heap/CMakeLists.txt
          storage/innobase/CMakeLists.txt
          storage/innobase/handler/ha_innodb.cc
          storage/innodb_plugin/CMakeLists.txt
          storage/innodb_plugin/handler/ha_innodb.cc
          storage/innodb_plugin/handler/handler0alter.cc
          storage/innodb_plugin/handler/i_s.cc
          storage/innodb_plugin/plug.in
          storage/myisam/CMakeLists.txt
          storage/myisammrg/CMakeLists.txt
          win/Makefile.am
          win/configure.js
      2c140ed3
    • vasil's avatar
      branches/5.1: · b8a2d8f2
      vasil authored
      Followup to r5700: Adjust the changes so they are the same as in the BZR
      repository.
      b8a2d8f2
  18. 04 Nov, 2009 1 commit
    • marko's avatar
      branches/5.1: Port r6134 from branches/zip: · 8b637965
      marko authored
        ------------------------------------------------------------------------
        r6134 | marko | 2009-11-04 07:57:29 +0000 (Wed, 04 Nov 2009) | 5 lines
      
        branches/zip: innobase_convert_identifier(): Convert table names with
        explain_filename() to address Bug #32430: 'show innodb status'
        causes errors Invalid (old?) table or database name in logs.
      
        rb://134 approved by Sunny Bains
        ------------------------------------------------------------------------
      
      innobase_print_identifier(): Replace with innobase_convert_name().
      
      innobase_convert_identifier(): New function, called by innobase_convert_name().
      8b637965
  19. 30 Oct, 2009 5 commits
    • vasil's avatar
      branches/5.1: · 69ac160b
      vasil authored
      Revert a change to Makefile.am that sneaked unnoticed in c6127.
      69ac160b
    • vasil's avatar
      branches/5.1: · b3bfd1d1
      vasil authored
      Backport c6121 from branches/zip:
      
        ------------------------------------------------------------------------
        r6121 | sunny | 2009-10-30 01:42:11 +0200 (Fri, 30 Oct 2009) | 7 lines
        Changed paths:
           M /branches/zip/mysql-test/innodb-autoinc.result
        
        branches/zip: This test has been problematic for sometime now. The underlying
        bug is that the data dictionaries get out of sync. In the AUTOINC code we
        try and apply salve to the symptoms. In the past MySQL made some unrelated
        change and the dictionaries stopped getting out of sync and this test started
        to fail. Now, it seems they have reverted that changed and the test is
        passing again. I suspect this is not he last time that this test will change.
        
        ------------------------------------------------------------------------
      b3bfd1d1
    • vasil's avatar
      branches/5.1: · 4184240b
      vasil authored
      White-space fixup.
      4184240b
    • jyang's avatar
      branches/5.1: In os_mem_alloc_large(), if we fail to attach · 693296b5
      jyang authored
      the shared memory, reset memory pointer ptr to NULL, and
      allocate memory from conventional pool. This is a port
      from branches/zip.
      Bug #48237 Error handling in os_mem_alloc_large appears to be incorrect
      rb://198  Approved by: Marko
      693296b5
    • jyang's avatar
      branches/5.1: Chnage WARN_LEVEL_ERROR to WARN_LEVEL_WARN · a0369766
      jyang authored
      for push_warning_printf() call in innodb.
      Fix Bug#47233: Innodb calls push_warning(MYSQL_ERROR::WARN_LEVEL_ERROR)
      
      rb://170 approved by Marko.
      a0369766