1. 31 Jul, 2007 3 commits
    • marko's avatar
      Merge a change from MySQL AB: · 645f1110
      marko authored
      ChangeSet@1.1810.3176.1  2007-07-20 14:17:15+03:00  gkodinov@magare.gmz
      
      Bug #29644: alter table hangs if records locked in share mode 
      by long running transaction
      
      On Windows opened files can't be deleted. There was a special
      upgraded lock mode (TL_WRITE instead of TL_WRITE_ALLOW_READ) 
      in ALTER TABLE to make sure nobody has the table opened
      when deleting the old table in ALTER TABLE. This special mode
      was causing ALTER TABLE to hang waiting on a lock inside InnoDB.
      This special lock is no longer necessary as the server is 
      closing the tables it needs to delete in ALTER TABLE.
      Fixed by removing the special lock.
      Note that this also reverses the fix for bug 17264 that deals with
      another consequence of this special lock mode being used.
      
      ha_innodb.cc@1.202.46.1  2007-07-20 14:17:14+03:00  gkodinov@magare.gmz
      
      Bug #29644: reverse the (now excessive) fix
      for bug 17264 (but leave the test case).
      645f1110
    • marko's avatar
      Fix the innodb.test failure mentioned in r1654. · 31ed35c0
      marko authored
      31ed35c0
    • marko's avatar
      Merge changes from MySQL AB, as of the following changeset: · e4d8de77
      marko authored
      ChangeSet@1.2567, 2007-07-27 14:44:31+05:00, svoj@june.mysql.com +3 -0
        Merge mysql.com:/home/svoj/devel/mysql/BUG29957/mysql-5.0-engines
        into  mysql.com:/home/svoj/devel/mysql/BUG29957/mysql-5.1-engines
        MERGE: 1.1810.2871.44
      
      One test case in innodb.test fails because of auto-increment
      changes in r1562:1653:
      
      $diff innodb.result innodb.reject
      504c504
      < 3	test2		this will work
      ---
      > 4	test2		this will work
      e4d8de77
  2. 30 Jul, 2007 1 commit
  3. 24 Jul, 2007 2 commits
    • vasil's avatar
      * Use START_REV instead of $(($1 + 1)) and END_REV instead of $2 · 1a49f127
      vasil authored
      * Use standard while-loop instead of the seq command
      
      1a49f127
    • sunny's avatar
      Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There · 08a18571
      sunny authored
      is one test that fails as of this commit. The updated test case should be
      part of the snapshot from MySQL shortly.
      
      Fix for bug# 27950 - Init AUTOINC from delete_row().
      
      Fix for bug# 28781 - Use value specified by MySQL, in update_row().
      
      Summary of structural changes:
      ==============================
      InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
      the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix 
      for simple INSERT statements (including multi-value inserts), we try and avoid
      acquiring the special AUTOINC table level lock unless another transaction has
      already reserved the AUTOINC table level lock, in which case we fall back
      to the old behavior of acquiring the AUTOINC table level lock.
      
      The max AUTOINC value is now read directly using the low level interface
      of InnoDB.
      08a18571
  4. 17 Jul, 2007 5 commits
  5. 16 Jul, 2007 3 commits
  6. 13 Jul, 2007 3 commits
  7. 10 Jul, 2007 1 commit
  8. 09 Jul, 2007 1 commit
  9. 27 Jun, 2007 1 commit
  10. 26 Jun, 2007 2 commits
    • inaam's avatar
      Bug#23710 · d5ffc8ea
      inaam authored
      At InnoDB startup consider the case where log scan went beyond checkpoint_lsn as a crash and initiate crash recovery code path.
      
      reviewed by: Heikki
      d5ffc8ea
    • vasil's avatar
      Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB" · 88662a2d
      vasil authored
      by typecasting the variables before multiplying them, so that the result of
      the multiplication is of type "unsigned long long".
      
      I verified this fix by creating a sparse file of 6TB and forcing InnoDB to
      use it without overwriting it with zeroes (by commenting the code that
      overwrites :newraw files).
      
      New type ullint is introduced with the sole purpose of shortening
      "unsigned long long", please do not define it to something else than
      "unsigned long long".
      
      Approved by:	Heikki
      88662a2d
  11. 21 Jun, 2007 2 commits
  12. 14 Jun, 2007 1 commit
  13. 13 Jun, 2007 2 commits
  14. 12 Jun, 2007 2 commits
    • marko's avatar
      Fix a severe bug that was introduced in r1422 when fixing Bug #21101. · 640246e6
      marko authored
      When creating an index containing a too long record, InnoDB would
      dereference a NULL pointer when trying to determine the maximum row length.
      
      innodb_check_for_record_too_big_error(): Replace the dict_table_t*
      parameter with a Boolean flag.  There is not always a dict_table_t object
      when this function is called.
      
      page_get_free_space_of_empty_noninline(): Move the definition and
      declaration from row0mysql (!) to page0page.  Make the signature
      identical with page_get_free_space_of_empty().
      
      create_clustered_index_when_no_primary(): Add the parameter "comp".
      Remove unnecessary casts.
      640246e6
    • vasil's avatar
      Fix some in:/out: comments. · 5ce26f77
      vasil authored
      Approved by:	Marko
      5ce26f77
  15. 06 Jun, 2007 2 commits
  16. 04 Jun, 2007 3 commits
    • vasil's avatar
      Fix Bug#20090 as suggested in the bug followup by Heikki. · 00255d96
      vasil authored
      Approved by:	Heikki
      00255d96
    • marko's avatar
      ha_innobase::innobase_read_and_init_auto_inc(): Remember and restore · a837a4df
      marko authored
      prebuilt->sql_stat_start.  In an ALTER TABLE statement in the innodb_gis
      test, an ut_ad() assertion failed, because no IX lock had been acquired
      on the table, because prebuilt->sql_stat_start was inadvertently reset
      to FALSE, by this function.  This function was called via
      ha_innobase::info() and mysql_prepare_alter_table().
      a837a4df
    • marko's avatar
      Merge changes from MySQL AB: · 935ac4c2
      marko authored
      ChangeSet@2007-05-10 12:59:39+03:00, monty@mysql.com 
        WL#3817: Simplify string / memory area types and make things more consistent
        (first part)
        
        The following type conversions was done:
        
        - Changed byte to uchar
        - Changed gptr to uchar*
        - Change my_string to char *
        - Change my_size_t to size_t
        - Change size_s to size_t
        
        Removed declaration of byte, gptr, my_string, my_size_t and size_s. 
      [...]
      ha_innodb.cc:
        Removed some old types
        Updated hash-get-key function arguments
        Added missing casts for alloc() and printf()
        Removed some not needed casts
      
      ha_innodb.h:
        Removed some old types
      935ac4c2
  17. 01 Jun, 2007 1 commit
    • marko's avatar
      When buffering an insert to a prefix index of a variable-length column, · 3b705b44
      marko authored
      do not incorrectly mark the column as fixed-length.  (Bug #28138)
      
      ibuf_entry_build(): Instead of prefix_len, pass fixed_len to
      dtype_new_store_for_order_and_null_size().  Add debug assertions.
      
      btr_index_rec_validate(): Correct a comment about prefix indexes.
      
      rec_get_converted_size_new(), rec_convert_dtuple_to_rec_new(): Add
      debug assertions and comments.
      
      dict_col_type_assert_equal(): New debug function.
      3b705b44
  18. 29 May, 2007 5 commits