1. 05 Mar, 2008 1 commit
    • sunny's avatar
      branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a · b657301e
      sunny authored
      new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
      the assertion where it crashed previously, since the type has now changed
      to unsigned, it doesn't make sense to check for < 0. Added new tests, to
      check for overflow, for the different INT types supported for both
      signed and unsigned.
      
      Fixes Bug# 34335
      b657301e
  2. 03 Mar, 2008 1 commit
  3. 11 Feb, 2008 1 commit
    • vasil's avatar
      branches/5.1: · 30ee677a
      vasil authored
      Merge r2294 from branches/5.0:
      
      Fix typo and add comma in comment.
      30ee677a
  4. 07 Feb, 2008 1 commit
    • vasil's avatar
      branches/5.1: · 613bcee7
      vasil authored
      Fix Bug#34053:
      * In CREATE TABLE and DROP TABLE check whether the table in question is one
        of the magic innodb_monitor tables and whether the user has enough rights
        to mess with it before doing anything else.
      * Implement a mysql-test testcase.
      
      Approved by:	Heikki
      613bcee7
  5. 05 Feb, 2008 2 commits
    • vasil's avatar
      branches/5.1: · 89fdcd3b
      vasil authored
      Fix typo in comment.
      89fdcd3b
    • vasil's avatar
      branches/5.1: · 4a71a092
      vasil authored
      Rename the user visible parameter innodb-use-adaptive-hash-indexes to
      innodb-adaptive-hash-index so that it is in sync with MySQL 5.0.
      
      Suggested by:	Heikki
      Approved by:	Heikki
      4a71a092
  6. 03 Feb, 2008 1 commit
    • inaam's avatar
      branches/5.1: Port of r2267 · ada26a24
      inaam authored
      This is a combination of changes that forward port the scalability fix applied to 5.0
      through r1001.
      It reverts changes r149 and r122 (these were 5.1 specific changes made in lieu of
      scalability fix of 5.0)
      Then it applies r1001 to 5.0 which is the original scalability fix.
      Finally it applies r2082 which fixes an issue with the original fix.
      
      Reviewed by: Heikki
      ada26a24
  7. 28 Jan, 2008 3 commits
    • marko's avatar
      branches/5.1: · 4670ad0e
      marko authored
      innodb.result: Fix results after merging changes from MySQL.  Maybe some
      changes were incorrectly merged in the past?
      4670ad0e
    • marko's avatar
      branches/5.1: Merge a change from MySQL AB: · f9539c17
      marko authored
      ChangeSet@2007-11-27 09:25:45+01:00, istruewing@stella.local 
      Bug#32754 - InnoDB tests do not prepare or clean up correctly
          
      Some test cases were missing preparation to deal with failed
      predecessor test cases.
          	  
      Added preparation (drop table if exists) to some test cases.
      
      innodb-semi-consistent.test: Added preparation (drop table if exists).
      f9539c17
    • marko's avatar
      branches/5.1: Merge a change from MySQL AB: · fd352f8b
      marko authored
      ChangeSet@2007-10-13 15:49:42+03:00, aelkin@koti.dsl.inet.fi
      
      Bug #29136 erred multi-delete on trans table does not rollback the statement
      
      innodb.test, innodb.result: trans table specific test added
      fd352f8b
  8. 16 Jan, 2008 1 commit
    • vasil's avatar
      branches/5.1: · 81db7e57
      vasil authored
      Fix formatting of the autoinc-lock-mode command line parameter.
      
      Old view (./mysqld --help --verbose):
      
        --innodb-autoinc-lock-mode=#
                            The AUTOINC lock modes supported by InnoDB:
        0 => Old
                            style AUTOINC locking (for backward compatibility)
        1 =>
                            New style AUTOINC locking
        2 => No AUTOINC locking
                            (unsafe for SBR)
      
      New view:
      
        --innodb-autoinc-lock-mode=#
                            The AUTOINC lock modes supported by InnoDB:
                            0 => Old style AUTOINC locking (for backward
                            compatibility)
                            1 => New style AUTOINC locking
                            2 => No AUTOINC locking (unsafe for SBR)
      
      Looks like these strings are "automatically" wrapped by MySQL in the
      following way:
      * newlines (\n) in the string are ignored
      * newline separator (\n) is inserted every 57 or so characters.
      * lots of white space is appended to each inserted new line.
      
      Approved by:	Heikki
      81db7e57
  9. 15 Jan, 2008 1 commit
    • inaam's avatar
      branches/5.1: bug#33349 · 3fdcdee8
      inaam authored
      Introduce retry/sleep logic as a workaround for a transient bug
      where ::open fails for partitioned tables randomly if we are using
      one file per table.
      
      
      Reviewed by: Heikki
      
      3fdcdee8
  10. 04 Jan, 2008 5 commits
    • vasil's avatar
      branches/5.1: · a202a27f
      vasil authored
      Merge change from MySQL AB:
      
      ChangeSet@1.2639, 2007-11-23 12:51:14+01:00, mkindahl@dl145h.mysql.com +7 -0
        Post-merge fixes.
      
        mysql-test/r/innodb.result@1.206, 2007-11-23 12:51:10+01:00, mkindahl@dl145h.mysql.com +1 -1
          Result change.
      a202a27f
    • vasil's avatar
      branches/5.1: · f2994003
      vasil authored
      Merge change from MySQL AB:
      
      ChangeSet@1.2616, 2007-12-01 19:55:06+01:00, tnurnberg@mysql.com +8 -0
        Bug#31177: Server variables can't be set to their current values
       
        5.1+ specific fixes (plugins etc.)
      
        mysql-test/r/innodb.result@1.204, 2007-12-01 19:55:04+01:00, tnurnberg@mysql.com +2 -2
          we throw warnings to the client, yea, verily
      f2994003
    • vasil's avatar
      branches/5.1: · c03aef45
      vasil authored
      Merge change from MySQL AB:
      
      ChangeSet@1.2557, 2007-11-28 19:43:50+01:00, tnurnberg@mysql.com +21 -0
        Bug#31177: Server variables can't be set to their current values
      
        Default values of variables were not subject to upper/lower bounds
        and step, while setting variables was. Bounds and step are also
        applied to defaults now; defaults are corrected quietly, values
        given by the user are corrected, and a correction-warning is thrown
        as needed. Lastly, very large values could wrap around, starting
        from 0 again. They are bounded at the maximum value for the
        respective data-type now if no lower maximum is specified in the
        variable's definition.
      
        mysql-test/r/innodb.result@1.171, 2007-11-28 19:43:48+01:00, tnurnberg@mysql.com +4 -0
          We throw a warning now when we adjust out of range parameters.
      c03aef45
    • vasil's avatar
      branches/5.1: · f7434b38
      vasil authored
      Merge change from MySQL AB:
      
      ChangeSet@1.2612, 2007-11-07 19:59:58+04:00, ramil@mysql.com +6 -0
        Fix for bug #26447: "ALTER TABLE .. ORDER" does not work with InnoDB
        and auto_increment keys
      
        Problems:
          1. ALTER TABLE ... ORDER BY... doesn't make sence if there's a
             user-defined clustered index in the table.
          2. using a secondary index is slower than using a clustered one
             for a table scan.
      
        Fixes:
          1. raise a warning.
          2. use the clustered index.
      
        mysql-test/r/innodb.result@1.203, 2007-11-07 19:59:56+04:00, ramil@mysql.com +15 -15
          Fix for bug #26447: "ALTER TABLE .. ORDER" does not work with InnoDB
          and auto_increment keys
            - results adjusted.
      f7434b38
    • vasil's avatar
      branches/5.1: · c4471eef
      vasil authored
      Merge change from MySQL AB:
      
      ChangeSet@1.2541, 2007-10-13 15:49:42+03:00, aelkin@koti.dsl.inet.fi +10 -0
        Bug #29136 erred multi-delete on trans table does not rollback the statement
       
        similar to bug_27716, but it was stressed on in the synopsis on that there is another
        side of the artifact affecting behaviour in transaction.
      
        Fixed with deploying multi_delete::send_error() - otherwise never called - and refining its logic
        to perform binlogging job if needed.
      
        The changeset includes the following side effects:
        - added tests to check bug_23333's scenarios on the mixture of tables for multi_update;
        - fixes bug@30763 with two-liner patch and a test coinciding to one added for bug_23333.
        
        mysql-test/r/innodb.result@1.171, 2007-10-13 15:49:36+03:00, aelkin@koti.dsl.inet.fi +15 -2
          results changed
      
        mysql-test/t/innodb.test@1.145, 2007-10-13 15:49:37+03:00, aelkin@koti.dsl.inet.fi +32 -0
          trans table specific test added
      
      c4471eef
  11. 19 Dec, 2007 1 commit
  12. 13 Dec, 2007 1 commit
    • vasil's avatar
      branches/5.1: · 2cc5d98c
      vasil authored
      Merge r2177 from trunk/:
      
      Fix Bug#29157 "UPDATE, changed rows incorrect":
      
      Return HA_ERR_RECORD_IS_THE_SAME from ha_innobase::update_row() if no
      columns were updated.
      2cc5d98c
  13. 11 Dec, 2007 1 commit
    • vasil's avatar
      branches/5.1: · 203168fe
      vasil authored
      Merge r2166:2168 from trunk/:
      
      Bug#32440:
      
      Put information about the free space in a tablespace in
      INFORMATION_SCHEMA.TABLES.DATA_FREE. This information was previously
      available in INFORMATION_SCHEMA.TABLES.TABLE_COMMENT, but MySQL has
      removed it from there recently.
      
      The stored value is in kilobytes.
      
      This can be considered as a permanent workaround to
      http://bugs.mysql.com/32440. "Workaround" becasue that bug is about the
      data missing from TABLE_COMMENT and this is actually not solved.
      203168fe
  14. 06 Dec, 2007 1 commit
    • vasil's avatar
      branches/5.1: · 74d591f4
      vasil authored
      Merge r2160 from trunk/:
      
      Fix Bug#18942 by dropping all foreign key constraints at the end of
      DROP DATABASE. Usually, by then, there are no foreign constraints
      left because all of them are dropped when the relevant tables are
      dropped. This code is to ensure that any orphaned FKs are wiped too.
      74d591f4
  15. 04 Dec, 2007 1 commit
    • marko's avatar
      branches/5.1: Merge r2154 from trunk: · 0c1f04e8
      marko authored
      innodb.result, innodb.test: Revert the changes in r2145.
      
      The tests that were removed by MySQL
      
      ChangeSet@1.2598.2.6  2007-11-06 15:42:58-07:00  tsmith@hindu.god
      
      were moved to a new test, innodb_autoinc_lock_mode_zero, which is
      kept in the MySQL BitKeeper tree.
      0c1f04e8
  16. 30 Nov, 2007 12 commits
    • marko's avatar
      branches/5.1: Copy from trunk. From now on, trunk will refer to · f630f2a6
      marko authored
      MySQL/InnoDB version 6.0, and any changes to MySQL/InnoDB 5.1 will
      be made in branches/5.1.
      f630f2a6
    • marko's avatar
      convert_error_code_to_mysql(): Do not call thd_mark_transaction_to_rollback() · 2883a914
      marko authored
      when thd is NULL.
      2883a914
    • marko's avatar
      Revert the changes that were reverted in r2144 to get a source tree that · da728647
      marko authored
      is an exact match of a MySQL BitKeeper tree.
      
      Apply r2116:
      ------------------------------------------------------------------------
      r2116 | vasil | 2007-11-23 19:10:17 +0200 (pe, 23 marras 2007) | 6 lines
      
      Set trx->mysql_query_str to NULL at transaction commit.
      It could be a problem if someone looks at it after that because MySQL may
      have free()d it then.
      
      Approved by:    Heikki (via IM)
      ------------------------------------------------------------------------
      
      innodb.test, innodb.result:
      Add some tests that were apparently accidentally removed in
      ChangeSet@1.2598.2.6  2007-11-06 15:42:58-07:00  tsmith@hindu.god
      Apply snapshot innodb-5.1-ss1989
      
      ha_innodb.cc: Add a decorative comment.
      da728647
    • marko's avatar
      Make our 5.1 tree an exact copy of the MySQL source tree. · 5f8a93a6
      marko authored
      Revert r2116:
      ------------------------------------------------------------------------
      r2116 | vasil | 2007-11-23 19:10:17 +0200 (pe, 23 marras 2007) | 6 lines
      
      Set trx->mysql_query_str to NULL at transaction commit.
      It could be a problem if someone looks at it after that because MySQL may
      have free()d it then.
      
      Approved by:    Heikki (via IM)
      ------------------------------------------------------------------------
      
      innodb.test, innodb.result:
      Remove some tests that were apparently accidentally removed in
      ChangeSet@1.2598.2.6  2007-11-06 15:42:58-07:00  tsmith@hindu.god
      Apply snapshot innodb-5.1-ss1989
      
      ha_innodb.cc: Remove a decorative comment.
      
      This tree should be an exact match of the following MySQL source tree:
      
      bk://mysql.bkbits.net/mysql-5.1
      ROOTKEY=3985cf0cwNRCED_XNSCA7RvkLPer2Q
      TIPKEY=47447c7cTrSPx22mH8PXNmurrycaaw
      
      bkf changes | head
      
      ChangeSet@1.2634.1.2, 2007-11-21 19:42:50+01:00, df@pippilotta.erinye.com +1 -0
        Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
        into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
        MERGE: 1.1810.3425.2
      
      ChangeSet@1.1810.3425.2, 2007-11-21 19:41:13+01:00, df@pippilotta.erinye.com +1 -0
        add wrong warning to suppression file
      
      ChangeSet@1.2634.1.1, 2007-11-21 19:33:27+01:00, df@pippilotta.erinye.com +1 -0
        Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
        into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
        MERGE: 1.1810.3425.1
      
      ChangeSet@1.1810.3425.1, 2007-11-21 18:11:08+01:00, df@pippilotta.erinye.com +1 -0
        ignore readline warnings
      
      ChangeSet@1.2635, 2007-11-21 15:06:38+01:00, mleich@five.local.lan +6 -0
        Merge five.local.lan:/work/merge/mysql-5.0-build-30418
        into  five.local.lan:/work/merge/mysql-5.1-build-31610
        MERGE: 1.1810.3284.72
      5f8a93a6
    • marko's avatar
      ha_innobase::get_auto_increment(): Add a comment that was accidentally · 5330e151
      marko authored
      removed in r2137, when merging a change from MySQL AB.
      5330e151
    • marko's avatar
      Merge a change from MySQL AB: · ee2625ac
      marko authored
      ChangeSet@1.2528.124.3  2007-08-14 15:35:19-06:00  tsmith@hindu.god
      
      Updates to allow innodb.test to be run with --embedded-server,
      including a small change to build_table_filename().
      
      innodb.test, innodb.result:
      
      Updates to allow innodb.test to be run with --embedded-server
      ee2625ac
    • marko's avatar
      Merge a change from MySQL AB: · d8f1f78e
      marko authored
      ChangeSet@1.2598.6.1  2007-11-07 12:59:22-07:00  tsmith@hindu.god
      
      Cast away compiler warning on Windows.
      
      ha_innodb.cc:
      
      Cast away a compiler warning; some functions return ulong or ulint for
      errors, and some use int.  Let's hope these all fit in an int.
      d8f1f78e
    • marko's avatar
      Merge a change from MySQL AB: · 4cf68d69
      marko authored
      ChangeSet@1.2528.116.44  2007-09-12 18:16:50-07:00  antony@xiphis.org
      
      Changes for pushbuild test runs and VSC compile warnings
      
      ha_innodb.cc:
      
      resolve a VSC++ typecast compile warning.
      4cf68d69
    • marko's avatar
      Merge a change from MySQL AB: · d247fe38
      marko authored
      ChangeSet@1.2528.116.43  2007-09-12 13:35:39-07:00  antony@xiphis.org
      
      undo unneccessary change to ha_innodb.cc
      remove 'drop database' from new tests.
      
      ha_innodb.cc:
      
      undo unneccessary edits.
      d247fe38
    • marko's avatar
      Merge a change from MySQL AB: · 52e26fc3
      marko authored
      ChangeSet@1.2528.116.42  2007-09-08 20:26:12-07:00  antony@xiphis.org
      
      Bug#30919
        "Rows not deleted from innodb partitioned tables if
        --innodb_autoinc_lock_mode=0"
      
        Due to a previous bugfix which initializes a previously uninitialized
        variable, ha_partition::get_auto_increment() may fail to operate
        correctly when the storage engine reports that it is only reserving
        one value and one or more partitions have a different 'next-value'.
        Currently, only affects Innodb's new-style auto-increment code which
        reserves larger blocks of values and has less inter-thread contention.
      
      ha_innodb.cc:
      Bug30919
        Only set *first_value if it is less than autoinc value. This allows
        a higher value to be hinted when operating as a partitioned table.
      52e26fc3
    • marko's avatar
      Merge a change from MySQL AB: · 204964b7
      marko authored
      ChangeSet@1.2528.116.40  2007-09-08 11:19:35-07:00  acurtis@xiphis.org
      
      Bug#30907
        "Regression: "--innodb_autoinc_lock_mode=0" (off) not same as older releases"
      Bug#28430
        "Failure in replication of innodb partitioned tables on row/mixed format"
      Bug#30888
        "Innodb table + stored procedure + row deletion = server crash"
      
        Apply Oracle patch from Sunny
        Include tests cases by Omer
        Ensure that innobase_read_and_init_auto performs table autoinc lock when
        lock_mode = 0
        No need for "if" guard around row_unlock_table_autoinc_for_mysql() because
        it already performs same check.
        Make autoinc_lock_mode variable read-only for duration of running
        mysqld process.
      
      ha_innodb.cc:
      Bug30907/28430
        "Regression: "--innodb_autoinc_lock_mode=0" (off) not same as older releases"
        "Failure in replication of innodb partitioned tables on row/mixed format"
        Apply Oracle patch from Sunny
        Ensure that innobase_read_and_init_auto performs table autoinc lock when
        lock_mode = 0
        No need for "if" guard around row_unlock_table_autoinc_for_mysql() because
        it already performs same check.
        Make autoinc_lock_mode variable read-only for duration of running
        mysqld process.
      204964b7
    • marko's avatar
      Merge a change from MySQL AB: · faabd6de
      marko authored
      ChangeSet@1.2528.24.43  2007-08-02 02:22:31-06:00  tsmith@hindu.god
      
      Post-merge fix, add InnoDB compatibility hook (defined for
      InnoDB only), thd_mark_transaction_to_rollback().
      faabd6de
  17. 23 Nov, 2007 1 commit
  18. 16 Nov, 2007 2 commits
  19. 14 Nov, 2007 2 commits
    • vasil's avatar
      Non-functional change: convert the switch in convert_search_mode_to_innobase() · 6c6208ac
      vasil authored
      to the InnoDB coding style.
      6c6208ac
    • vasil's avatar
      Fix Bug#32125 (http://bugs.mysql.com/32125) · eddb1258
      vasil authored
      "Database crash due to ha_innodb.cc:3896: ulint convert_search_mode_to_innobase":
      
      When unknown find_flag is encountered in convert_search_mode_to_innobase()
      do not call assert(0); instead queue a MySQL error using my_error() and
      return the error code PAGE_CUR_UNSUPP. Change the functions that call
      convert_search_mode_to_innobase() to handle that error code by "canceling"
      execution and returning appropriate error code further upstream.
      
      Approved by:	Heikki (via IM)
      
      eddb1258
  20. 31 Oct, 2007 1 commit