Commit graph

197 commits

Author SHA1 Message Date
unknown
47b0a0b089 Added innodb_rollback_on_timeout option to restore the 4.1
InnoDB timeout behavior (Bug #24200)


mysql-test/t/innodb_mysql-master.opt:
  Set --innodb-lock-wait-timeout=2, since test for bug #24200 times out.
  
  This *could* cause random test failures if some long-running transaction concurrency is being tested.  However, such a test really should go in innodb-big or some other test file.
2006-12-19 16:57:51 -07:00
unknown
c12c382fc6 This ChangeSet must be null-merged to 5.1. Applied innodb-5.0-ss982, -ss998, -ss1003
Fixes:
- Bug #15815: Very poor performance with multiple queries running concurrently
- Bug #22868: 'Thread thrashing' with > 50 concurrent conns under an upd-intensive workloadw
- Bug #23769: Debug assertion failure with innodb_locks_unsafe_for_binlog
- Bug #24089: Race condition in fil_flush_file_spaces()


innobase/buf/buf0buf.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1000:
  branches/5.0: Merge r999 from trunk:
  
  Reduce buffer pool mutex contention under >= 4 big concurrent
  CPU-bound SELECT queries.  (Bug #22868)
  
  Fix: replace the mutex by one mutex protecting the 'flush list'
  (and the free list) and several mutexes protecting portions of the
  buffer pool, where we keep several indivudual LRU lists of pages.
  
  This patch is from Sunny Bains and Heikki Tuuri.
innobase/buf/buf0flu.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1000:
  branches/5.0: Merge r999 from trunk:
  
  Reduce buffer pool mutex contention under >= 4 big concurrent
  CPU-bound SELECT queries.  (Bug #22868)
  
  Fix: replace the mutex by one mutex protecting the 'flush list'
  (and the free list) and several mutexes protecting portions of the
  buffer pool, where we keep several indivudual LRU lists of pages.
  
  This patch is from Sunny Bains and Heikki Tuuri.
innobase/buf/buf0lru.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1000:
  branches/5.0: Merge r999 from trunk:
  
  Reduce buffer pool mutex contention under >= 4 big concurrent
  CPU-bound SELECT queries.  (Bug #22868)
  
  Fix: replace the mutex by one mutex protecting the 'flush list'
  (and the free list) and several mutexes protecting portions of the
  buffer pool, where we keep several indivudual LRU lists of pages.
  
  This patch is from Sunny Bains and Heikki Tuuri.
innobase/dict/dict0crea.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r974:
  branches/5.0: Port r973 from trunk.
  
  Do not break the latching order in TRUNCATE TABLE.
  
  dict_truncate_index_tree(): Replace parameter rec_t* rec with
  btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
  
  sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
innobase/fil/fil0fil.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1003:
  branches/5.0: Merge r1002 from trunk:
  
  fil_flush_file_spaces(): Copy the system->unflushed_spaces list to an
  array while holding the mutex.  This removes the crash-triggering
  race condition that was introduced when fixing Bug 15653.  (Bug #24089)
innobase/include/buf0buf.h:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1000:
  branches/5.0: Merge r999 from trunk:
  
  Reduce buffer pool mutex contention under >= 4 big concurrent
  CPU-bound SELECT queries.  (Bug #22868)
  
  Fix: replace the mutex by one mutex protecting the 'flush list'
  (and the free list) and several mutexes protecting portions of the
  buffer pool, where we keep several indivudual LRU lists of pages.
  
  This patch is from Sunny Bains and Heikki Tuuri.
innobase/include/buf0buf.ic:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1000:
  branches/5.0: Merge r999 from trunk:
  
  Reduce buffer pool mutex contention under >= 4 big concurrent
  CPU-bound SELECT queries.  (Bug #22868)
  
  Fix: replace the mutex by one mutex protecting the 'flush list'
  (and the free list) and several mutexes protecting portions of the
  buffer pool, where we keep several indivudual LRU lists of pages.
  
  This patch is from Sunny Bains and Heikki Tuuri.
innobase/include/dict0crea.h:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r974:
  branches/5.0: Port r973 from trunk.
  
  Do not break the latching order in TRUNCATE TABLE.
  
  dict_truncate_index_tree(): Replace parameter rec_t* rec with
  btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
  
  sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
innobase/include/sync0arr.h:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
innobase/include/sync0rw.h:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
innobase/include/sync0rw.ic:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
innobase/include/sync0sync.h:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
innobase/os/os0sync.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
innobase/row/row0mysql.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r974:
  branches/5.0: Port r973 from trunk.
  
  Do not break the latching order in TRUNCATE TABLE.
  
  dict_truncate_index_tree(): Replace parameter rec_t* rec with
  btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
  
  sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
innobase/row/row0sel.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r982:
  branches/5.0: row_sel(): Do not try to acquire a LOCK_REC_NOT_GAP lock
  on the supremum record.  Instead, skip to the next record.  (Bug #23769)
  This fix was backported from r623 in the 5.1 tree.
innobase/srv/srv0start.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r926:
  Refer to bug: 22268. Since no one tries to run 5.0 on Windows 95/ME it was
  decided to raise the limit of srv_max_n_threads to 10000 on Windows.
innobase/sync/sync0arr.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
innobase/sync/sync0rw.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
innobase/sync/sync0sync.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r969:
  branches/5.0: Port r968 from trunk:
  
  sync_thread_add_level(): When level == SYNC_TREE_NODE, allow the latching
  order to be violated if the thread holds dict_operation_lock, whose level is
  SYNC_DICT_OPERATION.  This removes the assertion failure of TRUNCATE TABLE
  #ifdef UNIV_SYNC_DEBUG.
  
  
  Revision r974:
  branches/5.0: Port r973 from trunk.
  
  Do not break the latching order in TRUNCATE TABLE.
  
  dict_truncate_index_tree(): Replace parameter rec_t* rec with
  btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
  
  sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
  
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
2006-11-09 05:02:37 +01:00
unknown
3468780e0c innodb r702
innodb r719


innobase/btr/btr0btr.c:
  innodb r702
innobase/buf/buf0buf.c:
  innodb r702
innobase/dict/dict0dict.c:
  innodb r702
innobase/fil/fil0fil.c:
  innodb r702
innobase/fsp/fsp0fsp.c:
  innodb r702
innobase/include/btr0cur.ic:
  innodb r719
innobase/include/buf0buf.ic:
  innodb r702
innobase/log/log0log.c:
  innodb r702
innobase/log/log0recv.c:
  innodb r702
innobase/os/os0file.c:
  innodb r702
innobase/row/row0mysql.c:
  innodb r702
innobase/row/row0sel.c:
  innodb r702
innobase/srv/srv0start.c:
  innodb r702
innobase/ut/ut0dbg.c:
  innodb r702
sql/ha_innodb.cc:
  innodb r702
2006-08-18 14:16:11 +02:00
unknown
9e3f90e541 Applied innodb-5.0-ss609 snapshot.
Fixed BUG#19727 "InnoDB crashed server and crashed tables
 are not recoverable".


innobase/row/row0mysql.c:
  Applied innodb-5.0-ss609 snapshot.
   Move trx_commit_for_mysql(trx) calls before calls to
   row_mysql_unlock_data_dictionary(trx).
innobase/row/row0sel.c:
  Applied innodb-5.0-ss609 snapshot.
   row_sel_try_search_shortcut(): Do not return SEL_FOUND when
   the record was not found. This bug was introduced in
   InnoDB 5.0.3, but luckily it should nerver manifest itself,
   given that existing InnoDB SQL code never makes use of
   consistent reads.
mysql-test/t/innodb.test:
  Applied innodb-5.0-ss609 snapshot.
   Add the big fat warning notice also to the bottom of
   innodb.test so that it will require more talent to
   ignore the change of policy.
2006-06-06 23:37:42 +04:00
unknown
7ee05d7c71 Applied innodb-5.0-ss476 snapshot.
Fix BUG#18934: "InnoDB crashes when table uses column like DB_ROW_ID".
 Also, fix memory leaks in row_create_table_for_mysql() in rare
 corner cases.


innobase/dict/dict0dict.c:
  Applied innodb-5.0-ss476 snapshot.
   Refuse tables that use reserved column names (Bug#18934).
innobase/dict/dict0load.c:
  Applied innodb-5.0-ss476 snapshot.
   dict_load_table(): Refuse to load tables with other TYPE
   than DICT_TABLE_ORDINARY.
innobase/dict/dict0mem.c:
  Applied innodb-5.0-ss476 snapshot.
   Add dict_mem_table_free(), use it instead of duplicating
   the code everywhere.
innobase/ibuf/ibuf0ibuf.c:
  Applied innodb-5.0-ss476 snapshot.
innobase/include/dict0dict.h:
  Applied innodb-5.0-ss476 snapshot.
   Refuse tables that use reserved column name (Bug#18934).
innobase/include/dict0mem.h:
  Applied innodb-5.0-ss476 snapshot.
   Add dict_mem_table_free(), use it instead of duplicating
   the code everywhere.
innobase/include/univ.i:
  Applied innodb-5.0-ss476 snapshot.
innobase/log/log0recv.c:
  Applied innodb-5.0-ss476 snapshot.
innobase/row/row0mysql.c:
  Applied innodb-5.0-ss476 snapshot.
   Refuse tables that use reserved column names (Bug#18934).
mysql-test/r/innodb.result:
  Applied innodb-5.0-ss476 snapshot.
   Fix result for test case for Bug#18934.
   (Other changes are to be restored by the next cset).
mysql-test/t/innodb.test:
  Applied innodb-5.0-ss476 snapshot.
   Fix result for test case for Bug#18934.
   (Removed test case for Bug#14360 is to be restored by the next cset).
2006-04-21 01:07:37 +04:00
unknown
7bafd119a3 Changes from the innodb-5.0-ss115 snapshot.
Fixed bugs:
 BUG#15991: "innodb-file-per-table + symlink database + rename = crash"
 BUG#15650: "DELETE with LEFT JOIN crashes server"
 BUG#15308: "Problem of Order with Enum Column in Primary Key"
 BUG#14189: "VARBINARY and BINARY variables: trailing space ignored"


innobase/include/data0type.h:
  Changes from the innodb-5.0-ss115 snapshot.
innobase/include/data0type.ic:
  Changes from the innodb-5.0-ss115 snapshot.
   Fixed bug #14189. dtype_get_pad_char(): Do not pad VARBINARY
   or BINARY cloumns.
innobase/include/lock0lock.h:
  Changes from the innodb-5.0-ss115 snapshot.
innobase/include/os0file.h:
  Changes from the innodb-5.0-ss115 snapshot.
   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).
innobase/include/row0mysql.h:
  Changes from the innodb-5.0-ss115 snapshot.
innobase/lock/lock0lock.c:
  Changes from the innodb-5.0-ss115 snapshot.
   lock_rec_unlock(): Initialize local variable release_lock,
   in order to avoid dereferencing an uninitialized pointer
   when no lock exists on rec.
innobase/os/os0file.c:
  Changes from the innodb-5.0-ss115 snapshot.
   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).
   Protect the increment and decrement operations on the statistic
     variables os_n_pending_writes/reads with os_file_count_mutes.
innobase/row/row0ins.c:
  Changes from the innodb-5.0-ss115 snapshot.
   Fixed bug #14189. row_ins_cascade_calc_update_vec(): Refuse
   ON UPDATE_CASCADE when trying to change the length of 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.
innobase/row/row0mysql.c:
  Changes from the innodb-5.0-ss115 snapshot.
   Fixed bug on unlock_row. In a unlock_row we may unlock
   only the latest lock granted to this transaction to the row.
innobase/row/row0sel.c:
  Changes from the innodb-5.0-ss115 snapshot.
   Fixed bug #15308.
   Fixed bug #14189: innobase_init(): Assert that
     DATA_MYSQL_BINARY_CHARSET_COLL == my_charset_bin.number.
   After review fixes for unlock bug where unlock released all
     locks transaction requested for a row. Only a latest requested
     lock to a row should be released. Update function comments to
     reflect current state. Persistent cursor should be stored
     whenever select lock type != LOCK_NONE.
innobase/trx/trx0trx.c:
  Changes from the innodb-5.0-ss115 snapshot.
   trx_commit_off_kernel(): Do not write empty trx->mysql_log_file_name.
mysql-test/r/innodb.result:
  Changes from the innodb-5.0-ss115 snapshot.
mysql-test/t/innodb.test:
  Changes from the innodb-5.0-ss115 snapshot.
sql/ha_innodb.cc:
  Changes from the innodb-5.0-ss115 snapshot.
   Fixed bug #15308.
   Fixed bug #14189: innobase_init(): Assert that
     DATA_MYSQL_BINARY_CHARSET_COLL == my_charset_bin.number.
   After review fixes for unlock bug where unlock released all
     locks transaction requested for a row. Only a latest requested
     lock to a row should be released. Update function comments to
     reflect current state. Persistent cursor should be stored
     whenever select lock type != LOCK_NONE.
mysql-test/r/innodb_unsafe_binlog.result:
  Changes from the innodb-5.0-ss115 snapshot.
mysql-test/t/innodb_unsafe_binlog-master.opt:
  Changes from the innodb-5.0-ss115 snapshot.
mysql-test/t/innodb_unsafe_binlog.test:
  Changes from the innodb-5.0-ss115 snapshot.
   Added testcases for bug #15650.
2006-01-16 14:32:43 +03:00
unknown
b83c29766c Fix BUG#14747: "Race condition can cause btr_search_drop_page_hash_index()
to crash".
 Changes from snapshot innodb-5.0-ss52.
 Note that buf_block_t::index should be protected by btr_search_latch
 or an s-latch or x-latch on the index page.
 btr_search_drop_page_hash_index(): Read block->index while holding
 btr_search_latch and use the cached value in the loop. Remove some
 redundant assertions.
 Also fix 13778. When FOREIGN_KEY_CHECKS=0 we still need to check that
 datatypes between foreign key references are compatible.
 Also added test cases to 9802.


innobase/btr/btr0sea.c:
  Changes from innodb-5.0-ss52
innobase/dict/dict0dict.c:
  Changes from innodb-5.0-ss52
innobase/dict/dict0load.c:
  Changes from innodb-5.0-ss52
innobase/include/buf0buf.h:
  Changes from innodb-5.0-ss52
innobase/include/dict0dict.h:
  Changes from innodb-5.0-ss52
innobase/include/dict0load.h:
  Changes from innodb-5.0-ss52
innobase/include/rem0cmp.h:
  Changes from innodb-5.0-ss52
innobase/rem/rem0cmp.c:
  Changes from innodb-5.0-ss52
innobase/row/row0mysql.c:
  Changes from innodb-5.0-ss52
mysql-test/r/innodb.result:
  Changes from innodb-5.0-ss52
mysql-test/t/innodb.test:
  Changes from innodb-5.0-ss52
sql/ha_innodb.cc:
  Changes from innodb-5.0-ss52
sql/ha_innodb.h:
  Changes from innodb-5.0-ss52
2005-12-06 22:02:40 +03:00
unknown
6fbbb1d5be InnoDB: Fix bug #13315, index columns having a maximum length of 767.
innobase/data/data0data.c:
  Adapt to DICT_MAX_COL_PREFIX_LEN rename.
innobase/dict/dict0dict.c:
  Adapt to DICT_MAX_COL_PREFIX_LEN rename.
innobase/include/dict0mem.h:
  Rename DICT_MAX_COL_PREFIX_LEN to DICT_MAX_INDEX_COL_LEN.
innobase/include/row0mysql.h:
  Add field_lengths parameter to row_create_index_for_mysql.
innobase/rem/rem0rec.c:
  Adapt to DICT_MAX_COL_PREFIX_LEN rename.
innobase/row/row0mysql.c:
  Add field_lengths parameter to row_create_index_for_mysql and use it to
  check for too long index columns.
mysql-test/r/innodb.result:
  New tests.
mysql-test/t/innodb.test:
  New tests.
sql/ha_innodb.cc:
  Create temporary field_lengths buffer and pass it to
  row_create_index_for_mysql.
2005-09-23 11:20:34 +03:00
unknown
2d1c26cc61 InnoDB: Reject foreign keys in temporary tables. Closes bug #12084.
innobase/dict/dict0dict.c:
  Add reject_fks parameter to dict_create_foreign_constraints_low and
  dict_create_foreign_constraints.
innobase/include/dict0dict.h:
  Add reject_fks parameter to dict_create_foreign_constraints.
innobase/include/row0mysql.h:
  Add reject_fks parameter to row_table_add_foreign_constraints.
innobase/row/row0mysql.c:
  Add reject_fks parameter to row_table_add_foreign_constraints.
sql/ha_innodb.cc:
  In create, pass correct reject_fks argument to
  row_table_add_foreign_constraints depending on whether we're creating a
  temporary table or not. Also move duplicated cleanup code to a single
  place.
2005-09-06 14:38:21 +03:00
unknown
c02509b17b row0mysql.c, ha_innodb.cc:
Fix bug #12308 : do not roll back the whhole transaction in a lock wait timeout error, just roll back the latest SQL statement; note that the locks set in the latest SQL statements remain, as InnoDB does not know what locks were set in which SQL statement


sql/ha_innodb.cc:
  Fix bug #12308 : do not roll back the whhole transaction in a lock wait timeout error, just roll back the latest SQL statement; note that the locks set in the latest SQL statements remain, as InnoDB does not know what locks were set in which SQL statement
innobase/row/row0mysql.c:
  Fix bug #12308 : do not roll back the whhole transaction in a lock wait timeout error, just roll back the latest SQL statement; note that the locks set in the latest SQL statements remain, as InnoDB does not know what locks were set in which SQL statement
2005-09-05 01:13:44 +03:00
unknown
c2323bae9a trx0trx.h, trx0trx.ic, row0mysql.c:
Fix another bug in the fix of Bug #3300


innobase/row/row0mysql.c:
  Fix another bug in the fix of Bug #3300
innobase/include/trx0trx.ic:
  Fix another bug in the fix of Bug #3300
innobase/include/trx0trx.h:
  Fix another bug in the fix of Bug #3300
2005-07-01 22:53:08 +03:00
unknown
8561600a5a Many files:
Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE


sql/ha_innodb.cc:
  Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
innobase/row/row0mysql.c:
  Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
innobase/row/row0sel.c:
  Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
innobase/include/trx0trx.ic:
  Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
innobase/include/row0mysql.h:
  Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
innobase/include/trx0trx.h:
  Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
innobase/lock/lock0lock.c:
  Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
innobase/trx/trx0trx.c:
  Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
2005-07-01 20:44:35 +03:00
unknown
2fb07495ed Merge hundin.mysql.fi:/home/marko/mysql-5.0
into hundin.mysql.fi:/home/marko/mysql-5.0-current


innobase/dict/dict0dict.c:
  Auto merged
innobase/fil/fil0fil.c:
  Auto merged
innobase/include/lock0lock.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
2005-06-21 07:36:18 +03:00
unknown
2e2a4e4f3e InnoDB: Do not distinguish explicitly requested table locks.
Since UNLOCK TABLES will commit the transaction (and thus release
all InnoDB locks held by it), it is unnecessary to release the
user-requested table locks separately.


innobase/include/lock0lock.h:
  Remove references to LOCK_TABLE_EXP and LOCK_TABLE_TRANSACTIONAL.
  Remove lock_release_tables_off_kernel().
innobase/include/row0mysql.h:
  Remove row_unlock_tables_for_mysql().
innobase/include/trx0trx.h:
  Remove n_lock_table_exp and n_lock_table_transactional.
innobase/lock/lock0lock.c:
  Remove references to LOCK_TABLE_EXP and LOCK_TABLE_TRANSACTIONAL.
  Remove lock_release_tables_off_kernel().
  Remove references to trx->n_lock_table_exp
  and trx->n_lock_table_transactional.
innobase/row/row0mysql.c:
  Remove row_unlock_tables_for_mysql().
  Remove references to LOCK_TABLE_TRANSACTIONAL and LOCK_TABLE_EXP.
innobase/trx/trx0trx.c:
  Remove n_lock_table_exp and n_lock_table_transactional.
sql/ha_innodb.cc:
  Remove references to LOCK_TABLE_EXP and LOCK_TABLE_TRANSACTIONAL
  and row_unlock_tables_for_mysql().
2005-06-08 15:45:56 +03:00
unknown
260bfacaa9 merged
innobase/row/row0mysql.c:
  Auto merged
sql/hash_filo.h:
  Auto merged
2005-05-28 01:28:18 +02:00
unknown
91427f2434 Merge hundin.mysql.fi:/home/marko/k/mysql-4.0
into hundin.mysql.fi:/home/marko/mysql-4.1


innobase/row/row0mysql.c:
  Auto merged
2005-05-26 15:57:24 +03:00
unknown
9181c17c14 InnoDB: Check all referencing tables in DROP DATABASE (Bug #10335).
innobase/row/row0mysql.c:
  row_drop_table_for_mysql(): Check all referencing tables
  when drop_db==TRUE (Bug #10335)
2005-05-26 15:42:24 +03:00
unknown
7f5bf3dcdb Manual merge (again)
configure.in:
  Auto merged
include/mysql.h:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
BitKeeper/deleted/.del-ctype-cp932.c:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~4617575065d612b9:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~ffe4a0c9e3206150:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
mysql-test/t/ps_grant.test:
  Auto merged
sql/ha_blackhole.cc:
  Auto merged
strings/ctype-big5.c:
  Auto merged
strings/ctype-ucs2.c:
  Auto merged
2005-05-14 12:38:12 +04:00
unknown
c4a1210fd4 row0mysql.c:
InnoDB wrongly complained in the .err log that MySQL is trying to drop a non-existent table, if tablespace ran out (Bug #10607)


innobase/row/row0mysql.c:
  InnoDB wrongly complained in the .err log that MySQL is trying to drop a non-existent table, if tablespace ran out (Bug #10607)
2005-05-13 18:37:22 +03:00
unknown
4a3a46af13 InnoDB: Performance optimizations based on OProfile analysis
innobase/btr/btr0btr.c:
  Eliminate some buf_frame_align() calls.
  Make use of the page_rec_is_infimum(), page_rec_is_supremum()
  and page_rec_is_user_rec() functions.
  Replace some index->table->comp with page_is_comp().
  Eliminate some variables to reduce register spilling on x86.
  Note that page_is_comp() may return nonzero instead of TRUE.
  Note that rec_offs_comp() may return nonzero instead of TRUE.
innobase/btr/btr0cur.c:
  Eliminate some buf_frame_align() calls.
  Replace some index->table->comp with
  page_is_comp() or rec_offs_comp().
  Eliminate some variables to reduce register spilling on x86.
  Note that page_is_comp() may return nonzero instead of TRUE.
  Note that rec_offs_comp() may return nonzero instead of TRUE.
  Remove an extra mem_heap_create() call from btr_cur_update_in_place().
  Add "page" parameter to lock_rec_store_on_page_infimum().
  Add some UNIV_LIKELY() and UNIV_UNLIKELY() hints.
  
  btr_estimate_number_of_different_key_vals(): Rename the
  offsets_* variables to be more descriptive and eliminate one
  rec_get_offsets() and one page_rec_get_next() call in the loop.
innobase/btr/btr0pcur.c:
  Eliminate some buf_frame_align() calls.
  Make use of the page_rec_is_infimum(), page_rec_is_supremum()
  and page_rec_is_user_rec() functions.
  Replace some index->table->comp with page_is_comp().
  Eliminate some variables to reduce register spilling on x86.
  Note that page_is_comp() may return nonzero instead of TRUE.
  Make some ut_a() assertions ut_ad() ones to improve performance.
  Add some UNIV_LIKELY() and UNIV_UNLIKELY() hints.
innobase/btr/btr0sea.c:
  Make use of page_rec_is_infimum() and page_rec_is_supremum().
  Eliminate some buf_frame_align() calls.
  Add some UNIV_UNLIKELY and UNIV_LIKELY hints.
  Turn some assertions into debug assertions.
innobase/dict/dict0crea.c:
  Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp
innobase/ibuf/ibuf0ibuf.c:
  Make use of page_rec_is_infimum() and page_rec_is_supremum().
  Add some UNIV_UNLIKELY and UNIV_LIKELY hints.
  ibuf_get_merge_page_nos(): Rename parameter "first_rec" to "rec"
  and eliminate local variable "rec".
innobase/include/btr0btr.h:
  Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp
innobase/include/buf0buf.h:
  Rename buf_frame_get_modify_clock()
  to buf_block_get_modify_clock().
innobase/include/buf0buf.ic:
  Rename buf_frame_get_modify_clock()
  to buf_block_get_modify_clock() and
  remove the buf_block_align() call.
innobase/include/lock0lock.h:
  lock_rec_store_on_page_infimum(): Add parameter "page"
innobase/include/mach0data.h:
  Add mach_encode_2() and mach_decode_2().
innobase/include/mach0data.ic:
  Add mach_encode_2() and mach_decode_2().
innobase/include/page0cur.h:
  Add const qualifier to page_cur_is_before_first()
  and page_cur_is_after_last().
innobase/include/page0cur.ic:
  Make use of page_rec_is_infimum() and page_rec_is_supremum().
innobase/include/page0page.h:
  Remove page_rec_is_first_user_rec() and page_rec_is_last_user_rec().
  Add page_rec_is_infimum() and page_rec_is_supremum().
  Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
innobase/include/page0page.ic:
  Remove page_rec_is_first_user_rec() and page_rec_is_last_user_rec().
  Add page_rec_is_infimum() and page_rec_is_supremum().
  Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
  Add UNIV_UNLIKELY, UNIV_LIKELY and UNIV_EXPECT hints.
  Reduce the number of buf_frame_align() calls.
innobase/include/rem0rec.ic:
  rec_offs_comp(): Return zero or nonzero instead of FALSE or TRUE.
innobase/include/row0mysql.h:
  Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
innobase/lock/lock0lock.c:
  Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
  Remove parameter "comp" from lock_rec_get_next(),
  lock_rec_has_expl() and lock_rec_other_has_expl_req().
  Add parameter "page" to lock_rec_store_on_page_infimum().
  Add UNIV_UNLIKELY hints.
  Reduce the number of buf_frame_align() calls.
  Make use of page_rec_is_infimum(), page_rec_is_supremum() and
  page_rec_is_user_rec().
  Move the "comp" flag outside some loops.
innobase/mtr/mtr0log.c:
  Replace index->table->comp with page_rec_is_comp().
innobase/page/page0cur.c:
  Replace index->table->comp with page_is_comp() or page_rec_is_comp().
  Eliminate some buf_frame_align() calls.
  Add some debug assertions.
innobase/page/page0page.c:
  Optimize page_dir_find_owner_slot(). Compare the record offset
  16 bits at a time, because that seems to be the only way to avoid
  register spilling on x86.
  Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
  Remove parameter "page" of page_delete_rec_list_write_log().
  Make use of page_rec_is_infimum().
innobase/rem/rem0cmp.c:
  Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
innobase/row/row0ins.c:
  Make use of page_rec_is_infimum() and page_rec_is_supremum().
  Reduce the amount of buf_frame_align() calls.
  row_ins_index_entry_low(): Disable assertion about column count
  unless #ifdef UNIV_DEBUG.
innobase/row/row0mysql.c:
  Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
innobase/row/row0row.c:
  Eliminate some buf_frame_align() calls.
  Make use of page_rec_is_infimum().
innobase/row/row0sel.c:
  Make use of page_rec_is_supremum() and page_rec_is_infimum().
  Turn some assertions into debug assertions.
  Add UNIV_LIKELY and UNIV_UNLIKELY hints.
  
  row_search_for_mysql(): Eliminate local variables "moved",
  "cons_read_requires_clust_rec", "was_lock_wait", "shortcut",
  "success" and "comp". Replace some of them with goto's.
  Disable variable "cnt" unless #ifdef UNIV_SEARCH_DEBUG.
innobase/row/row0vers.c:
  Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
  Replace index->table->comp with page_rec_is_comp().
  Eliminate some buf_frame_align() calls.
2005-04-25 10:14:35 +03:00
unknown
4e0e9a3bae InnoDB: Define some macros around GCC's __builtin_expect()
and __builtin_prefetch().
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.


innobase/btr/btr0btr.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/btr/btr0cur.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/btr/btr0sea.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/include/univ.i:
  Define UNIV_EXPECT(), UNIV_LIKELY(), UNIV_UNLIKELY(),
  UNIV_LIKELY_NULL(), UNIV_PREFETCH_R() and UNIV_PREFETCH_RW().
innobase/lock/lock0lock.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/page/page0cur.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/page/page0page.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/rem/rem0rec.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0ins.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0mysql.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0purge.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0row.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0sel.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0undo.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0upd.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/trx/trx0rec.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
2005-04-21 14:23:26 +03:00
unknown
ea5c2a148a InnoDB: Make CHECK TABLE killable. (Bug #9730)
innobase/btr/btr0btr.c:
  Enclose btr_print_size() and btr_print_tree() in #ifdef UNIV_BTR_PRINT
  Add trx_t* parameter to btr_validate_tree() and btr_validate_level().
  btr_validate_level(): Call trx_is_interrupted() on each page.
innobase/ibuf/ibuf0ibuf.c:
  Add trx_t* parameter to btr_validate_tree().
innobase/include/btr0btr.h:
  Enclose btr_print_size() and btr_print_tree() in #ifdef UNIV_BTR_PRINT
  Add trx_t* parameter to btr_validate_tree().
innobase/include/trx0trx.h:
  Declare trx_is_interrupted().
innobase/row/row0mysql.c:
  row_scan_and_check_index(): Check trx_is_interrupted() every 1,000
  scanned rows.
  row_check_table_for_mysql(): Check trx_is_interrupted()
  for each index after btr_validate_tree().
sql/ha_innodb.cc:
  Define trx_is_interrupted().
2005-04-20 17:39:05 +03:00
unknown
f0438d5487 Merge
innobase/dict/dict0dict.c:
  Auto merged
innobase/dict/dict0load.c:
  Auto merged
innobase/include/dict0dict.h:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_dynrec.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
mysql-test/r/kill.result:
  Auto merged
mysql-test/t/kill.test:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
ndb/src/kernel/main.cpp:
  Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
2005-04-13 16:24:17 +02:00
unknown
dec90f5b36 InnoDB: Ignore character set mismatch in ALTER TABLE and RENAME TABLE
if foreign_key_checks=0. (Bug #9802)


innobase/dict/dict0dict.c:
  dict_foreign_add_to_cache(): Add flag check_types.
  If the flag is FALSE, ignore character set mismatch.
innobase/dict/dict0load.c:
  dict_load_foreign(), dict_load_foreigns(): Add flag check_types.
  If the flag is FALSE, differences in character sets will be ignored.
innobase/include/dict0dict.h:
  dict_foreign_add_to_cache(): Add flag check_types.
  If the flag is FALSE, differences in character sets will be ignored.
innobase/include/dict0load.h:
  dict_load_foreigns(): Add flag check_types.
  If the flag is FALSE, differences in character sets will be ignored.
innobase/row/row0mysql.c:
  row_table_add_foreign_constraints(), row_rename_table_for_mysql():
  Pass trx->check_foreigns to dict_load_foreigns()
sql/ha_innodb.cc:
  ha_innobase::rename_table(): Clear trx->check_foreign if necessary.
2005-04-12 16:12:34 +03:00
unknown
7955fe527d Many files:
InnoDB true VARCHAR


sql/ha_innodb.h:
  InnoDB true VARCHAR
sql/ha_innodb.cc:
  InnoDB true VARCHAR
innobase/include/data0type.h:
  InnoDB true VARCHAR
innobase/include/que0que.h:
  InnoDB true VARCHAR
innobase/include/row0mysql.h:
  InnoDB true VARCHAR
innobase/include/data0type.ic:
  InnoDB true VARCHAR
innobase/include/row0mysql.ic:
  InnoDB true VARCHAR
innobase/row/row0ins.c:
  InnoDB true VARCHAR
innobase/row/row0mysql.c:
  InnoDB true VARCHAR
innobase/row/row0sel.c:
  InnoDB true VARCHAR
innobase/trx/trx0trx.c:
  InnoDB true VARCHAR
2005-03-16 00:34:15 +02:00
unknown
53ffcff7be row0mysql.c:
Correct web links
fil0fil.c:
  Correct (?) English grammar


innobase/fil/fil0fil.c:
  Correct (?) English grammar
innobase/row/row0mysql.c:
  Correct web links
2005-03-13 22:46:57 +02:00
unknown
066e8900d6 InnoDB: Introduce the symbols REC_OFFS_NORMAL_SIZE and
REC_OFFS_SMALL_SIZE for the initial allocation sizes of
arrays passed to rec_get_offsets().


innobase/btr/btr0btr.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/btr/btr0cur.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/btr/btr0sea.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/include/rem0rec.h:
  Define REC_OFFS_NORMAL_SIZE and REC_OFFS_SMALL_SIZE.
innobase/lock/lock0lock.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/page/page0cur.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/page/page0page.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/rem/rem0rec.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0ins.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0mysql.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0purge.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0row.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0sel.c:
  s/100/REC_OFFS_NORMAL_SIZE/
  s/10/REC_OFFS_SMALL_SIZE/
innobase/row/row0undo.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0upd.c:
  s/100/REC_OFFS_NORMAL_SIZE/
  s/10/REC_OFFS_SMALL_SIZE/
innobase/trx/trx0rec.c:
  s/100/REC_OFFS_NORMAL_SIZE/
2005-03-10 15:16:16 +02:00
unknown
db32810d02 InnoDB: Improve performance by about 10% by removing implicit
memcpy() calls, by not initializing the offsets_[] arrays.
InnoDB: Remove a Microsoft compiler warning in page0page.c.


innobase/btr/btr0btr.c:
  Only initialize the first element of offsets_[]
innobase/btr/btr0cur.c:
  Only initialize the first element of offsets_[]
innobase/btr/btr0sea.c:
  Only initialize the first element of offsets_[]
innobase/lock/lock0lock.c:
  Only initialize the first element of offsets_[]
innobase/page/page0cur.c:
  Only initialize the first element of offsets_[]
innobase/page/page0page.c:
  page_validate(): Silence a warning about unsigned/signed comparison.
  Other places: Only initialize the first element of offsets_[].
innobase/rem/rem0rec.c:
  Only initialize the first element of offsets_[]
innobase/row/row0ins.c:
  Only initialize the first element of offsets_[]
innobase/row/row0mysql.c:
  Only initialize the first element of offsets_[]
innobase/row/row0purge.c:
  Only initialize the first element of offsets_[]
innobase/row/row0row.c:
  Only initialize the first element of offsets_[]
innobase/row/row0sel.c:
  Only initialize the first element of offsets_[]
innobase/row/row0undo.c:
  Only initialize the first element of offsets_[]
innobase/row/row0upd.c:
  Only initialize the first element of offsets_[]
innobase/trx/trx0rec.c:
  Only initialize the first element of offsets_[]
2005-03-09 22:04:55 +02:00
unknown
48577bb59f merged
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
Build-tools/Do-compile:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
include/my_sys.h:
  Auto merged
innobase/buf/buf0lru.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/include/page0page.ic:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/os/os0thread.c:
  Auto merged
innobase/rem/rem0cmp.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/trx/trx0sys.c:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
innobase/ut/ut0ut.c:
  Auto merged
myisam/ft_parser.c:
  Auto merged
myisam/mi_create.c:
  Auto merged
mysql-test/Makefile.am:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/ndb_alter_table.result:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysql-test/t/ndb_alter_table.test:
  Auto merged
mysys/hash.c:
  Auto merged
mysys/my_bitmap.c:
  Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
scripts/make_win_src_distribution.sh:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-03-09 14:09:06 +01:00
unknown
9c6cc47f74 InnoDB: Portability fixes for warnings reported on IA-64 Windows
innobase/buf/buf0lru.c:
  Portability fix: Use %p for printing pointers
innobase/dict/dict0dict.c:
  Properly cast the arguments of toupper()
innobase/eval/eval0proc.c:
  Declare loop_var_value with a matching data type.
innobase/include/mem0mem.ic:
  Remove implicit type conversion
innobase/include/page0page.ic:
  Portability fix: Use %p for printing pointers
innobase/include/pars0pars.h:
  Remove implicit type conversion
innobase/include/pars0sym.h:
  Remove implicit type conversion
innobase/mem/mem0dbg.c:
  Portability fix: Use %p for printing pointers
innobase/os/os0file.c:
  Add DWORD casts for Windows
innobase/os/os0sync.c:
  Add DWORD casts for Windows
innobase/os/os0thread.c:
  Add DWORD casts for Windows
innobase/rem/rem0cmp.c:
  Make implicit type conversions explicit
innobase/row/row0mysql.c:
  Make implicit type conversions explicit
innobase/row/row0sel.c:
  Portability fix: Use %p for printing pointers
innobase/trx/trx0sys.c:
  Declare trx_sys_mysql_bin_log_pos_high and
  trx_sys_mysql_bin_log_pos_low with a matching data type
innobase/ut/ut0ut.c:
  Make implicit type conversion explicit
2005-03-07 12:03:33 +02:00
unknown
39cf45fd54 After review fixes. Fix bugs in TRUNCATE.
innobase/dict/dict0crea.c:
  dict_truncate_index_tree(): Commit the mtr after deleting the
  index tree. Add diagnostics for error cases. Let the caller update
  SYS_INDEXES.PAGE_NO to the new root page number. Return the new
  root page number, or FIL_NULL on error.
innobase/include/dict0crea.h:
  dict_truncate_index_tree(): Commit the mtr after deleting the
  index tree. Add diagnostics for error cases. Let the caller update
  SYS_INDEXES.PAGE_NO to the new root page number. Return the new
  root page number, or FIL_NULL on error.
innobase/include/page0page.ic:
  page_mem_free(): Disable the memset() call, to make it possible to
  recover some data if someone accidentally deletes a large number
  of records from a table.
innobase/log/log0recv.c:
  Do not disable InnoDB Hot Backup specific code in MySQL builds.
innobase/row/row0mysql.c:
  row_truncate_table_for_mysql(): Remove an infinite loop in case
  a SYS_INDEXES record has been deleted. Avoid deadlocks by committing
  and restarting the mini-transaction.
sql/ha_innodb.cc:
  ha_innobase::delete_all_rows(): set trx->active_trans = 1
2005-03-01 19:42:59 +02:00
unknown
6075463f03 InnoDB: Make CREATE TABLE return error when the minimum row length
exceeds the maximum record size.  (Bug #5682)


innobase/data/data0type.c:
  Remove function dtype_str_needs_mysql_cmp().
  Document dtype_get_at_most_n_mbchars().
  dtype_get_at_most_n_mbchars(): Use mbminlen and mbmaxlen.
innobase/dict/dict0crea.c:
  dict_build_table_def_step(): Reject if minimum row size is too big.
innobase/include/data0type.h:
  Remove dtype_str_needs_mysql_cmp().
  Document dtype_get_at_most_n_mbchars().
  Add dtype_get_min_size().
innobase/include/data0type.ic:
  Add dtype_get_min_size().
innobase/include/row0mysql.h:
  row_mysql_store_col_in_innobase_format(): Add parameter comp,
  as we will only truncate UTF-8 CHAR(n) columns in row_format=compact.
innobase/include/row0mysql.ic:
  row_mysql_store_col_in_innobase_format(): Add parameter comp,
  as we will only truncate UTF-8 CHAR(n) columns in row_format=compact.
innobase/row/row0mysql.c:
  Pass parameter comp to row_mysql_store_col_in_innobase_format().
innobase/row/row0sel.c:
  Pass parameter comp to row_mysql_store_col_in_innobase_format().
  row_sel_field_store_in_mysql_format(): Undo the stripping of
  UTF-8 CHAR(n) columns by padding with spaces.
2005-02-17 17:15:29 +02:00
unknown
0d57871425 Merge hundin.mysql.fi:/home/heikki/mysql-4.0
into hundin.mysql.fi:/home/heikki/mysql-4.1


innobase/row/row0mysql.c:
  Auto merged
sql/sql_cache.cc:
  Auto merged
2005-02-13 21:05:18 +02:00
unknown
4c21a10f27 row0mysql.c:
Backport the column prefix memory corruption fix from 5.0


innobase/row/row0mysql.c:
  Backport the column prefix memory corruption fix from 5.0
2005-02-13 21:00:07 +02:00
unknown
602d9a0329 row0mysql.c:
Fix memory corruption bug reported by Georg Richter: if one created a table whose primary key contained at least 2 column prefixes, that could corrupt the memory heap of prebuilt_t


innobase/row/row0mysql.c:
  Fix memory corruption bug reported by Georg Richter: if one created a table whose primary key contained at least 2 column prefixes, that could corrupt the memory heap of prebuilt_t
2005-02-13 20:48:02 +02:00
unknown
ed4dbd12d9 InnoDB: Exclude code from InnoDB Hot Backup builds
by adding #ifndef UNIV_HOTBACKUP and adjusting some function
declarations.


innobase/data/data0type.c:
  Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/dict/dict0dict.c:
  Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/dict/dict0load.c:
  Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/include/data0type.ic:
  Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/include/srv0srv.h:
  Introduce srv_init(), so that it can be called in InnoDB Hot Backup
innobase/include/srv0start.h:
  Introduce srv_add_path_separator_if_needed(), so that it can be
  invoked in InnoDB Hot Backup
innobase/include/sync0sync.h:
  Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/include/sync0sync.ic:
  Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/include/trx0trx.h:
  trx_recover_for_mysql(): replace uint with ulint, as uint is not
  declared in InnoDB Hot Backup
innobase/lock/lock0lock.c:
  Replace bool with ibool
  Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/row/row0ins.c:
  Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/row/row0mysql.c:
  Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/srv/srv0srv.c:
  Make srv_init() global, so that InnoDB Hot Backup can call it.
  Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/srv/srv0start.c:
  Make srv_add_path_separator_if_needed() global for InnoDB Hot Backup.
  Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/sync/sync0rw.c:
  Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/sync/sync0sync.c:
  Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/trx/trx0roll.c:
  Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/trx/trx0trx.c:
  Replace uint with ulint, as uint is undeclared in InnoDB Hot Backup
innobase/ut/ut0ut.c:
  Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
2005-02-04 16:25:13 +02:00
unknown
113ff8c9d9 InnoDB: Cleanups of TRUNCATE TABLE code
innobase/row/row0mysql.c:
  row_truncate_for_mysql(): Always lock the data dictionary.
  row_truncate_for_mysql(): Improve comments and diagnostic messages.
sql/ha_innodb.cc:
  delete_all_rows(): Replace innobase_commit_low()
  with innobase_commit(). (partial fix to Bug #8151)
2005-01-31 10:35:56 +02:00
unknown
264f83f076 InnoDB: Allow concurrent TRUNCATE and INSERT on a table. (Bug #8144)
innobase/include/rem0rec.ic:
  Improve formatting of comments
innobase/include/trx0trx.h:
  dict_operation: document the effect of setting the flag
innobase/row/row0mysql.c:
  Do not set the dict_operation flag. (Bug #8144)
  Allow MySQL to have open handles to the table being truncated.
sql/ha_innodb.cc:
  store_lock(): Do not weaken TL_WRITE locks taken by TRUNCATE TABLE.
2005-01-28 12:18:33 +02:00
unknown
4db9aaeea7 InnoDB: Remove redundant page_no field from dict_index_t.
This completes the patch for fast TRUNCATE TABLE.


innobase/dict/dict0boot.c:
  dict_boot(): Add page_no parameter to dict_index_add_to_cache()
innobase/dict/dict0crea.c:
  Remove dict_index_t:page_no; add ind_node_t:page_no
innobase/dict/dict0dict.c:
  dict_index_add_to_cache(): Add parameter page_no
  dict_tree_create(): Add parameter page_no
innobase/dict/dict0load.c:
  dict_load_indexes(): Add page_no to dict_index_add_to_cache() call
innobase/ibuf/ibuf0ibuf.c:
  ibuf_data_init_for_space(): Move page_no to dict_index_add_to_cache()
innobase/include/dict0crea.h:
  ind_node_t: Add page_no field
innobase/include/dict0dict.h:
  dict_index_add_to_cache(): Add page_no
  dict_tree_create(): Add page_no
innobase/include/dict0mem.h:
  dict_index_t: Remove page_no, as dict_tree_t has "page" field
innobase/row/row0mysql.c:
  row_truncate_table_for_mysql(): Improve the comments
2005-01-14 13:54:23 +02:00
unknown
4017b57bbb row0mysql.c:
row_truncate_table_for_mysql(): Reset the auto_increment counter.


innobase/row/row0mysql.c:
  row_truncate_table_for_mysql(): Reset the auto_increment counter.
2005-01-13 15:14:11 +02:00
unknown
ff4507a9de InnoDB: Implement fast TRUNCATE TABLE (Bug #7150)
innobase/dict/dict0boot.c:
  Added DICT_SYS_INDEXES_TYPE_FIELD
innobase/dict/dict0crea.c:
  Added dict_truncate_index_tree()
innobase/include/dict0boot.h:
  Added DICT_SYS_INDEXES_TYPE_FIELD
innobase/include/dict0crea.h:
  Added dict_truncate_index_tree()
innobase/include/row0mysql.h:
  Added row_truncate_table_for_mysql()
innobase/row/row0mysql.c:
  Added row_truncate_table_for_mysql()
sql/ha_innodb.cc:
  Added ha_innobase::delete_all_rows() in order to
  implement fast TRUNCATE TABLE
sql/ha_innodb.h:
  Added ha_innobase::delete_all_rows() in order to
  implement fast TRUNCATE TABLE
2005-01-11 16:28:07 +02:00
unknown
b99bea6704 manually merged
configure.in:
  Auto merged
client/mysqldump.c:
  Auto merged
innobase/buf/buf0rea.c:
  Auto merged
innobase/dict/dict0load.c:
  Auto merged
innobase/fil/fil0fil.c:
  Auto merged
innobase/include/fil0fil.h:
  Auto merged
innobase/include/row0mysql.h:
  Auto merged
innobase/include/trx0trx.h:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/alter_table.result:
  Auto merged
mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/r/func_str.result:
  Auto merged
mysql-test/r/grant.result:
  Auto merged
mysql-test/r/grant_cache.result:
  Auto merged
mysql-test/r/merge.result:
  Auto merged
mysql-test/r/ndb_blob.result:
  Auto merged
mysql-test/r/ps_1general.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/timezone2.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
mysql-test/t/merge.test:
  Auto merged
mysql-test/t/multi_update.test:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
ndb/src/ndbapi/NdbBlob.cpp:
  Auto merged
ndb/src/ndbapi/NdbConnection.cpp:
  Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
ndb/src/ndbapi/NdbOperationDefine.cpp:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_myisammrg.cc:
  Auto merged
sql/ha_myisammrg.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/strfunc.cc:
  Auto merged
sql/unireg.cc:
  Auto merged
vio/vio.c:
  Auto merged
vio/viosocket.c:
  Auto merged
2004-12-31 15:26:24 +01:00
unknown
05fb4757f9 row0mysql.c:
Manually merge the latest FOREIGN KEY lock wait + DROP TABLE fix from 4.0


innobase/row/row0mysql.c:
  Manually merge the latest FOREIGN KEY lock wait + DROP TABLE fix from 4.0
2004-12-27 21:22:06 +02:00
unknown
4ba981e521 row0mysql.c:
Fix the previous bug fix: dropping a table with FOREIGN KEY checks running on it caused a cascade of failed drops while the foreign key check was waiting for a lock


innobase/row/row0mysql.c:
  Fix the previous bug fix: dropping a table with FOREIGN KEY checks running on it caused a cascade of failed drops while the foreign key check was waiting for a lock
2004-12-27 20:06:40 +02:00
unknown
030842edaa row0mysql.c:
Merge the two FOREIGN KEY bug fixes from 4.0, and add a TODO comment


innobase/row/row0mysql.c:
  Merge the two FOREIGN KEY bug fixes from 4.0, and add a TODO comment
2004-12-27 17:28:17 +02:00
unknown
5f6d8e6526 Merge hundin.mysql.fi:/home/heikki/mysql-4.0
into hundin.mysql.fi:/home/heikki/mysql-4.1


innobase/row/row0ins.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
2004-12-27 17:19:27 +02:00
unknown
a7b984d233 row0ins.c:
Fix bug: if we dropped a table where an INSERT was waiting for a lock to check a FOREIGN KEY constraint, then an assertion would fail in lock_reset_all_on_table(), since that operation assumes no waiting locks on the table or its records
row0mysql.c:
  Fix bug: InnoDB failed to drop a table in the background drop queue if the table was referenced by a foreign key constraint


innobase/row/row0mysql.c:
  Fix bug: InnoDB failed to drop a table in the background drop queue if the table was referenced by a foreign key constraint
innobase/row/row0ins.c:
  Fix bug: if we dropped a table where an INSERT was waiting for a lock to check a FOREIGN KEY constraint, then an assertion would fail in lock_reset_all_on_table(), since that operation assumes no waiting locks on the table or its records
2004-12-27 17:15:38 +02:00
unknown
92655f14d2 row0mysql.c:
Fix typo


innobase/row/row0mysql.c:
  Fix typo
2004-12-27 04:32:37 +02:00
unknown
708eebea8a Many files:
Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1


innobase/buf/buf0rea.c:
  Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
innobase/include/dict0load.h:
  Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
innobase/include/fil0fil.h:
  Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
innobase/include/row0mysql.h:
  Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
innobase/include/trx0trx.h:
  Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
innobase/dict/dict0load.c:
  Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
innobase/fil/fil0fil.c:
  Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
innobase/row/row0ins.c:
  Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
innobase/row/row0mysql.c:
  Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
innobase/row/row0sel.c:
  Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
innobase/srv/srv0start.c:
  Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
innobase/trx/trx0trx.c:
  Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
sql/ha_innodb.cc:
  Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
2004-12-27 04:10:25 +02:00
unknown
40d7e74efd logging_ok:
Logging to logging@openlogging.org accepted
sql_yacc.yy, sql_parse.cc, sql_lex.h, lex.h:
  Implements the SHOW MUTEX STATUS command
set_var.cc, mysqld.cc, mysql_priv.h:
  Added new GLOBAL variable timed_mutexes
ha_innodb.h:
  New function innodb_mutex_show_status
ha_innodb.cc:
  Added new innodb variables in SHOW STATUS
  Implements the SHOW MUTEX STATUS command
innodb.test, innodb.result:
  Added new row_lock_waits status variables tests.
variables.test, variables.result:
  test new variable timed_mutexes
ut0ut.c:
  New function ut_usectime.
sync0sync.c:
  Mutex counting.
sync0rw.c:
  New mutex parameters initialization.
srv0srv.c:
  Counting row lock waits
row0sel.c, row0mysql.c:
  Setting row_lock or table_lock state to thd.
que0que.c:
  Added default no_lock_state to thd.
univ.i:
  Added UNIV_SRV_PRINT_LATCH_WAITS debug define
sync0sync.ic:
  Count mutex using.
sync0sync.h:
  Added new parameters to mutex structure for counting.
sync0rw.h:
  Added new parameters to rw_create_func.
srv0srv.h:
  Added new innodb varuables to SHOW STATUS.
que0que.h:
  Added thread lock states.


innobase/include/que0que.h:
  Added thread lock states.
innobase/include/srv0srv.h:
  Added new innodb varuables to SHOW STATUS.
innobase/include/sync0rw.h:
  Added new parameters to rw_create_func.
innobase/include/sync0sync.h:
  Added new parameters to mutex structure for counting.
innobase/include/sync0sync.ic:
  Count mutex using.
innobase/include/univ.i:
  Added UNIV_SRV_PRINT_LATCH_WAITS debug define
innobase/que/que0que.c:
  Added default no_lock_state to thd.
innobase/row/row0mysql.c:
  Setting row_lock or table_lock state to thd.
innobase/row/row0sel.c:
  Setting row_lock or table_lock state to thd.
innobase/srv/srv0srv.c:
  Counting row lock waits
innobase/sync/sync0rw.c:
  New mutex parameters initialization.
innobase/sync/sync0sync.c:
  Mutex counting.
innobase/ut/ut0ut.c:
  New function ut_usectime.
mysql-test/r/variables.result:
  test new variable timed_mutexes
mysql-test/r/innodb.result:
  Added new row_lock_waits status variables tests.
mysql-test/t/variables.test:
  test new variable timed_mutexes
mysql-test/t/innodb.test:
  Added new row_lock_waits status variables tests.
sql/ha_innodb.cc:
  Added new innodb variables in SHOW STATUS
  Implements the SHOW MUTEX STATUS command
sql/ha_innodb.h:
  New function innodb_mutex_show_status
sql/lex.h:
  Implements the SHOW MUTEX STATUS command
sql/mysql_priv.h:
  Added new GLOBAL variable timed_mutexes
sql/mysqld.cc:
  Added new GLOBAL variable timed_mutexes
sql/set_var.cc:
  Added new GLOBAL variable timed_mutexes
sql/sql_lex.h:
  Implements the SHOW MUTEX STATUS command
sql/sql_parse.cc:
  Implements the SHOW MUTEX STATUS command
sql/sql_yacc.yy:
  Implements the SHOW MUTEX STATUS command
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-12-24 12:13:32 +01:00