1. 30 Apr, 2008 1 commit
    • vasil's avatar
      branches/5.1: · e6ca57b1
      vasil authored
      * Use INNODB_CFLAGS insead of cluttering CFLAGS with InnoDB specific
        flags. CFLAGS are used to compile every file in the MySQL source tree.
      
      * Add INNODB_DYNAMIC_CFLAGS to the flags of the dynamic plugin and use
        -prefer-non-pic to make the dynamic plugin faster on i386.
      
      Approved by:	Sunny
      e6ca57b1
  2. 24 Apr, 2008 3 commits
    • vasil's avatar
      branches/5.1: · 1420a855
      vasil authored
      Fix Bug#36169 create innodb compressed table with too large row size crashed
      
      Sometimes it is possible that
      row_drop_table_for_mysql(index->table_name, trx, FALSE); is invoked in
      row_create_index_for_mysql() when the index object is freed so copy the
      table name to a safe place beforehand and use the copy.
      
      Approved by:	Sunny
      1420a855
    • calvin's avatar
      branches/5.1: Fix bug#35537 - Innodb doesn't increment handler_update · ed668cc1
      calvin authored
      and handler_delete
      
      Add the calls to ha_statistic_increment() in ha_innobase::delete_row()
      and ha_innobase::update_row().
      ed668cc1
    • calvin's avatar
      branches/5.1: Fix bug#29507 TRUNCATE shows to many rows effected · 6ac19301
      calvin authored
      In InnoDB, the row count is only a rough estimate used by SQL
      optimization. InnoDB is now return row count 0 for TRUNCATE operation.
      6ac19301
  3. 23 Apr, 2008 1 commit
    • vasil's avatar
      branches/5.1: · 0b9ab341
      vasil authored
      Change the fix for Bug#32440 to show bytes instead of kilobytes in
      INFORMATION_SCHEMA.TABLES.DATA_FREE.
      
      Suggested by:	Domas Mituzas <domas@mysql.com>
      Approved by:	Heikki
      0b9ab341
  4. 27 Mar, 2008 3 commits
    • vasil's avatar
      branches/5.1: · 0f2bbae1
      vasil authored
      Swap the order in which mysql_thd, mysql_query_str and *mysql_query_str
      are checked for non-NULL.
      
      Suggested by:	Marko
      0f2bbae1
    • vasil's avatar
      branches/5.1: · ad25389e
      vasil authored
      Check whether *trx->mysql_query_str is != NULL in addition to
      trx->mysql_query_str. This adds more safety.
      
      This may or may not fix Bug#35226 RBR event crashes slave.
      ad25389e
    • vasil's avatar
      branches/5.1: · be05f50a
      vasil authored
      Merge change from MySQL (this fixes the failing innodb test):
      
      ChangeSet@1.1810.3601.4, 2008-02-07 02:33:21+04:00, gshchepa@host.loc +9 -0
        Fixed bug#30059.
        Server handles truncation for assignment of too-long values
        into CHAR/VARCHAR/TEXT columns in a different ways when the
        truncated characters are spaces:
        1. CHAR(N) columns silently ignore end-space truncation;
        2. TEXT columns post a truncation warning/error in the
           non-strict/strict mode.
        3. VARCHAR columns always post a truncation note in
           any mode.
      
        Space truncation processing has been synchronised over
        CHAR/VARCHAR/TEXT columns: current behavior of VARCHAR
        columns has been propagated as standard.
      
        Binary-encoded string/BLOB columns are not affected.
      be05f50a
  5. 26 Mar, 2008 2 commits
    • vasil's avatar
      branches/5.1: · 063bc007
      vasil authored
      Fix Bug#34300 Tinyblob & tinytext fields currupted after export/import and alter in 5.1
      
      Copy the BLOB fields, that are stored internally, to a safe place
      (prebuilt->blob_heap) when converting a row from InnoDB format to
      MySQL format in row_sel_store_mysql_rec().
      
      The bug was introduced in:
      
       ------------------------------------------------------------------------
       r587 | osku | 2006-05-23 15:35:58 +0300 (Tue, 23 May 2006) | 3 lines
       
       Optimize BLOB selects by using prebuilt->blob_heap directly instead of first
       reading BLOB data to a temporary heap and then copying it to
       prebuilt->blob_heap.
       ------------------------------------------------------------------------
      
      Approved by:	Heikki
      063bc007
    • vasil's avatar
      branches/5.1: · 224f9237
      vasil authored
      Fix typo in comment.
      224f9237
  6. 21 Mar, 2008 1 commit
    • sunny's avatar
      branches/5.1: Fix for Bug# 35352. We've added a heuristic that checks · fda1d273
      sunny authored
      the size of the UNDO slots cache lists (insert and upate). If either of
      cached lists has more than 500 entries then we add any UNDO slots that are
      freed, to the common free list instead of the cache list, this is to avoid
      the case where all the free slots end up in only one of the lists on startup
      after a crash.
      
      Tested with test case for 26590 and passes all mysql-test(s).
      fda1d273
  7. 19 Mar, 2008 1 commit
    • vasil's avatar
      branches/5.1: · c87c4298
      vasil authored
       
      Fix Bug#34823:
      fsync() occasionally returns ENOLCK and causes InnoDB to restart mysqld
      
      Create a wrapper to fsync(2) that retries the operation if the error is
      ENOLCK. Use that wrapper instead of fsync(2).
      
      Approved by:	Heikki
      c87c4298
  8. 18 Mar, 2008 1 commit
    • vasil's avatar
      branches/5.1: · 3fe4b483
      vasil authored
       
      Fix Bug#35220 ALTER TABLE too picky on reserved word "foreign".
       
      In ALTER TABLE, change the internal parser to search for
      ``FOREIGN[[:space:]]'' instead of only ``FOREIGN'' when parsing
      ALTER TABLE ... DROP FOREIGN KEY ...; otherwise it could be mistaken
      with ALTER TABLE ... DROP foreign_col;
       
      Approved by:	Heikki
      3fe4b483
  9. 17 Mar, 2008 1 commit
  10. 12 Mar, 2008 1 commit
  11. 11 Mar, 2008 2 commits
  12. 05 Mar, 2008 1 commit
    • sunny's avatar
      branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a · e89ab3bf
      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
      e89ab3bf
  13. 03 Mar, 2008 1 commit
  14. 11 Feb, 2008 1 commit
    • vasil's avatar
      branches/5.1: · f6089d5b
      vasil authored
      Merge r2294 from branches/5.0:
      
      Fix typo and add comma in comment.
      f6089d5b
  15. 07 Feb, 2008 1 commit
    • vasil's avatar
      branches/5.1: · 5b92c4ec
      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
      5b92c4ec
  16. 05 Feb, 2008 2 commits
    • vasil's avatar
      branches/5.1: · 44a1a6ba
      vasil authored
      Fix typo in comment.
      44a1a6ba
    • vasil's avatar
      branches/5.1: · 01785663
      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
      01785663
  17. 03 Feb, 2008 1 commit
    • inaam's avatar
      branches/5.1: Port of r2267 · baf6b527
      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
      baf6b527
  18. 28 Jan, 2008 3 commits
    • marko's avatar
      branches/5.1: · fc40679f
      marko authored
      innodb.result: Fix results after merging changes from MySQL.  Maybe some
      changes were incorrectly merged in the past?
      fc40679f
    • marko's avatar
      branches/5.1: Merge a change from MySQL AB: · ec0932d0
      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).
      ec0932d0
    • marko's avatar
      branches/5.1: Merge a change from MySQL AB: · e04e3594
      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
      e04e3594
  19. 16 Jan, 2008 1 commit
    • vasil's avatar
      branches/5.1: · 7f016e0c
      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
      7f016e0c
  20. 15 Jan, 2008 1 commit
    • inaam's avatar
      branches/5.1: bug#33349 · 29e36962
      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
      29e36962
  21. 04 Jan, 2008 5 commits
    • vasil's avatar
      branches/5.1: · e8e7816e
      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.
      e8e7816e
    • vasil's avatar
      branches/5.1: · d34758a2
      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
      d34758a2
    • vasil's avatar
      branches/5.1: · 303d1c40
      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.
      303d1c40
    • vasil's avatar
      branches/5.1: · e953b039
      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.
      e953b039
    • vasil's avatar
      branches/5.1: · 642df820
      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
      642df820
  22. 19 Dec, 2007 1 commit
  23. 13 Dec, 2007 1 commit
    • vasil's avatar
      branches/5.1: · 7f682c96
      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.
      7f682c96
  24. 11 Dec, 2007 1 commit
    • vasil's avatar
      branches/5.1: · b284fbc7
      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.
      b284fbc7
  25. 06 Dec, 2007 1 commit
    • vasil's avatar
      branches/5.1: · 792a8e2d
      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.
      792a8e2d
  26. 04 Dec, 2007 1 commit
    • marko's avatar
      branches/5.1: Merge r2154 from trunk: · 88cdf196
      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.
      88cdf196
  27. 30 Nov, 2007 1 commit