1. 27 Jan, 2006 1 commit
    • marko's avatar
      Import those changes from mysql-5.1-new ChangeSet 1.1979 (Lars Thalmann) · c97b724d
      marko authored
      that were not part of r154.  (Bug #3300)
      
      innodb.test, innodb.result: Remove binlog related tests, because they
      are not InnoDB specific; they merely require a transactional table.
      
      ha_innobase::ha_innobase(): Add HA_PRIMARY_KEY_ALLOW_RANDOM_ACCESS
      to table_flags.
      
      ha_innobase::rnd_init(): Disable semi-consistent read for random access.
      c97b724d
  2. 26 Jan, 2006 2 commits
    • marko's avatar
      Port r142 of branches/5.0 (from MySQL): · affc7f66
      marko authored
      NetWare specific change to increase thread stack size.
      affc7f66
    • marko's avatar
      Implement semi-consistent read to reduce lock conflicts at the cost · 5674905f
      marko authored
      of breaking serializability.  (Bug #3300)
      
      ha_innobase::unlock_row(): reset the "did semi consistent read" flag
      
      ha_innobase::was_semi_consistent_read(),
      ha_innobase::try_semi_consistent_read(): new methods
      
      row_prebuilt_t, row_create_prebuilt(): add field row_read_type for
      keeping track of semi-consistent reads
      
      row_vers_build_for_semi_consistent_read(),
      row_sel_build_committed_vers_for_mysql(): new functions
      
      row_search_for_mysql(): implement semi-consistent reads
      5674905f
  3. 24 Jan, 2006 1 commit
    • marko's avatar
      Port r152 from branches/5.0: Account for a race condition when dropping the · 3da31938
      marko authored
      adaptive hash index for a B-tree page.  (Bug #16582)
      
      btr_search_drop_page_hash_index(): Retry the operation if a hash index
      with different parameters was built meanwhile.  Add diagnostics for the
      case that hash node pointers to the page remain.  This fix is from Heikki.
      
      btr_search_info_update_hash(), btr_search_info_update_slow():
      Document the parameter "info" as in/out.
      3da31938
  4. 23 Jan, 2006 1 commit
    • marko's avatar
      Port r150 from branches/5.0: Port r19 from innodb-4.1/trunk: · 463d8e33
      marko authored
      Keep track on unflushed modifications to file spaces.  When there are tens
      of thousands of file spaces, flushing all files in fil_flush_file_spaces()
      would be very slow.  (Bug #15653)
      
      fil_flush_file_spaces(): Only flush unflushed file spaces.
      
      fil_space_t, fil_system_t: Add a list of unflushed spaces.
      463d8e33
  5. 20 Jan, 2006 1 commit
  6. 19 Jan, 2006 2 commits
    • marko's avatar
      Port r146 from branches/5.0: · c91e3017
      marko authored
      Make innodb_flush_log_at_trx_commit a settable global variable.
      c91e3017
    • marko's avatar
      Port r145 from branches/5.0: · dc8fdd92
      marko authored
      Make innodb_thread_concurrency 0 by default, and extend the useable
      range from 0 to 1000 (0 disables the thread throttling).
      
      Remove SRV_CONCURRENCY_THRESHOLD (20).  The magic value to
      disable the thread throttling is 0 from now on.
      dc8fdd92
  7. 18 Jan, 2006 2 commits
  8. 17 Jan, 2006 3 commits
  9. 12 Jan, 2006 5 commits
    • marko's avatar
      Port r132 from branches/5.0: Port r15 from innodb-4.1: · ab3a8768
      marko authored
      Do not mistake TABLENAME_ibfk_0 for auto-generated id (Bug #16387).
      
      dict_table_get_highest_foreign_id(): Ignore foreign constraint identifiers
      starting with the pattern TABLENAME_ibfk_0.
      
      innodb.test, innodb.result: Add test case.
      ab3a8768
    • osku's avatar
      Forward port r123 from branches/5.0: · e8db9ca2
      osku authored
      Replace goto in os_event_wait with a normal loop.
      e8db9ca2
    • jan's avatar
      Forward port r127 from branches/5.0: · 7b1119ef
      jan authored
      Fixed a bug #16229 MySQL/InnoDB uses full explicit table locks 
      in trigger processing. Take a InnoDB table lock only if user has explicitly
      requested a table lock. Added some additional comments to store_lock() and 
      external_lock(). Added test cases for a bug. Fixed some code style errors.
      7b1119ef
    • jan's avatar
      Forward port r108 from from branches/5.0: · e88869ee
      jan authored
      Fixed bug #15308: Problem of Order with Enum Column in 
      Primary Key. Added a new test case for bug #14056.
      e88869ee
    • jan's avatar
      Forward port r120 from branches/5.0: · ebe34127
      jan authored
      Added diagnostic code trx_print() to 
      innobase_query_caching_of_table_permitted() to find reason
      why we are holding adaptive search latch.
      ebe34127
  10. 11 Jan, 2006 1 commit
    • marko's avatar
      Port r125 from branches/5.0: · e5d47f6d
      marko authored
      dict_load_columns(): Set the charset-collation code
      DATA_MYSQL_BINARY_CHARSET_COLL for those binary string columns
      that lack a charset-collation code, i.e., the tables were created
      with an older version of MySQL/InnoDB than 4.1.2.  (Bug #16298)
      e5d47f6d
  11. 10 Jan, 2006 1 commit
  12. 05 Jan, 2006 1 commit
    • marko's avatar
      Port r118 from branches/5.0: · 6915755d
      marko authored
      Remove some declarations of unused global variables and member variables
      of class ha_innobase.
      6915755d
  13. 04 Jan, 2006 1 commit
  14. 03 Jan, 2006 2 commits
    • marko's avatar
      Port r114 from branches/5.0: · bd816d37
      marko authored
      lock_rec_unlock(): Initialize local variable release_lock, in order to avoid
      dereferencing an uninitialized pointer when no lock exists on rec.
      
      This bug was introduced in r103 of branches/5.0, ported as r104 to trunk.
      bd816d37
    • marko's avatar
      Merge r112 from branches/5.0: · eb0ab9d7
      marko authored
      os_file_handle_error(): Map the error codes EXDEV, ENOTDIR, and EISDIR
      to the new code OS_FILE_PATH_ERROR.  Treat this code as OS_FILE_PATH_ERROR.
      This fixes the crash on RENAME TABLE when the .ibd file is a symbolic link
      to a different file system.  (Bug #15991)
      eb0ab9d7
  15. 30 Dec, 2005 1 commit
    • marko's avatar
      Port r110 from branches/5.0: · 7572f8fc
      marko authored
      Do not log empty binlog file name at transaction commit.
      
      trx_commit_off_kernel(): Do not write empty trx->mysql_log_file_name.
      7572f8fc
  16. 20 Dec, 2005 2 commits
    • marko's avatar
      Port r106 from branches/5.0: · c85162b1
      marko authored
      Protect the increment and decrement operations on the statistic variables
      os_n_pending_writes and os_n_pending_reads with os_file_count_mutex.
      c85162b1
    • osku's avatar
      From MySQL: · 7d3e9fd6
      osku authored
      Restore "make dist" for the header files in "innobase/include".
      7d3e9fd6
  17. 16 Dec, 2005 1 commit
    • jan's avatar
      Port r103 from braches/5.0 to trunk. · c8b22058
      jan authored
      Fixed a bug on unlock_row. In a unlock_row we may unlock
      only the latest lock granted to this transaction to the row.
      c8b22058
  18. 15 Dec, 2005 2 commits
    • osku's avatar
      From MySQL: · c088f6d3
      osku authored
      Fix for BUG#11704: "Found locks from different thread" warnings:
       The source of warnings was this scenario in OPTIMIZE:
      
           thr1: lock table with TL_WRITE_ONLY (InnoDB converts lock to
           TL_WRITE_ALLOW_WRITE)
      
           thr2: (UPDATE command) obtains a TL_WRITE_ALLOW_WRITE lock
      
           thr1: call mysql_lock_abort(). This function sets type of thr'1 lock
           to TL_WRITE_ONLY
      
           thr2: try to release thr2's lock. See two locks: TL_WRITE_ONLY,
           TL_WRITE_ALLOW_WRITE and produce a warning.
         
      The fix: Make InnoDB not to convert TL_WRITE_ONLY locks to
      TL_WRITE_ALLOW_WRITE in OPTIMIZE TABLE.
      c088f6d3
    • jan's avatar
      Port r100 from branches/5.0 to trunk. · 0629c3ed
      jan authored
      0629c3ed
  19. 14 Dec, 2005 1 commit
    • marko's avatar
      Port r98 from branches/5.0: INCOMPATIBLE CHANGE: · 0809de5d
      marko authored
      Do not pad VARBINARY or BINARY columns. (Bug #14189)
      
      innodb.test, innodb.result: Add test cases for foreign key constraints
      between VARBINARY and BINARY columns, and between VARCHAR BINARY and
      CHAR BINARY columns.
      
      innobase_init(): Assert that
      DATA_MYSQL_BINARY_CHARSET_COLL == my_charset_bin.number.
      
      dtype_get_pad_char(): Do not pad VARBINARY or BINARY columns.
      
      row_ins_cascade_calc_update_vec(): Refuse ON UPDATE CASCADE
      when trying to change the length of a VARBINARY column
      that refers to or is referenced by a BINARY column.  BINARY
      columns are no longer padded on comparison, and thus they
      cannot be padded on storage either.
      0809de5d
  20. 12 Dec, 2005 2 commits
  21. 09 Dec, 2005 2 commits
  22. 08 Dec, 2005 1 commit
    • osku's avatar
      Port r87 from branches/5.0: · f937f151
      osku authored
      Work around Bug #12071: Do not call os_file_create_tmpfile() at runtime.
      Instead, create all tempfiles at startup and guard access to them with
      mutexes.
      f937f151
  23. 02 Dec, 2005 1 commit
  24. 01 Dec, 2005 1 commit
  25. 30 Nov, 2005 2 commits
    • osku's avatar
      From MySQL: · 659215dc
      osku authored
      We new use TABLE_SHARE instead of TABLE when creating engine handlers.
      659215dc
    • osku's avatar
      From MySQL: · 2c784ee3
      osku authored
      innobase_savepoint():
        Replaced check which always failed due to similar check in caller
        with assertion.
      2c784ee3