1. 24 Jul, 2007 1 commit
    • 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
  2. 17 Jul, 2007 5 commits
  3. 16 Jul, 2007 3 commits
  4. 13 Jul, 2007 3 commits
  5. 10 Jul, 2007 1 commit
  6. 09 Jul, 2007 1 commit
  7. 27 Jun, 2007 1 commit
  8. 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
  9. 21 Jun, 2007 2 commits
  10. 14 Jun, 2007 1 commit
  11. 13 Jun, 2007 2 commits
  12. 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
  13. 06 Jun, 2007 2 commits
  14. 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
  15. 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
  16. 29 May, 2007 6 commits
  17. 28 May, 2007 3 commits
  18. 25 May, 2007 1 commit