Commit graph

541 commits

Author SHA1 Message Date
unknown
bf7fe05f9c Merge 127.(none):/home/osku/mysql/5.0/clean
into  127.(none):/home/osku/mysql/5.0/revcpy
2005-09-29 13:39:27 +03:00
unknown
b2d8eb02a7 InnoDB: Fix potential buffer underflow.
innobase/include/ut0mem.h:
  Add ut_strlcpy_rev.
innobase/mem/mem0mem.c:
  Use ut_strlcpy_rev instead of buggy own implementation.
innobase/ut/ut0mem.c:
  Add ut_strlcpy_rev.
2005-09-29 13:02:18 +03:00
unknown
612b9cebb2 Minor corrections to InnoDB function comments
innobase/include/mem0mem.h:
  Correct the comment of mem_heap_create_func().
innobase/include/mem0mem.ic:
  Correct the comment of mem_heap_create_func().
sql/ha_innodb.cc:
  Correct comments regarding return value
2005-09-29 12:37:27 +03:00
unknown
bb292ca139 InnoDB: Fix compile warning.
innobase/include/trx0trx.h:
  Change trx_set_detailed_error's second argument to const char*.
innobase/trx/trx0trx.c:
  Change trx_set_detailed_error's second argument to const char*.
2005-09-27 09:42:41 +03:00
unknown
ce8af21694 Merge 127.(none):/home/osku/mysql/5.0/clean
into  127.(none):/home/osku/mysql/5.0/3443


innobase/dict/dict0dict.c:
  Auto merged
innobase/include/trx0trx.h:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
mysql-test/r/innodb.result:
  Merge fixes.
mysql-test/t/innodb.test:
  Merge fixes.
2005-09-23 16:44:25 +03:00
unknown
e4b0b0d00c Fix bug #3443, better foreign key error messsages.
innobase/dict/dict0dict.c:
  Add 'add_newline' parameter to dict_print_info_on_foreign_key_in_create_format.
innobase/include/dict0dict.h:
  Add 'add_newline' parameter to dict_print_info_on_foreign_key_in_create_format.
innobase/include/os0file.h:
  Add os_file_read_string.
innobase/include/trx0trx.h:
  Add trx_set_detailed_error and trx_set_detailed_error_from_file functions
  and a detailed_error field to trx_struct.
innobase/include/ut0mem.h:
  Add ut_strlcpy.
innobase/os/os0file.c:
  Add os_file_read_string.
innobase/row/row0ins.c:
  Add row_ins_set_detailed function and call it when needed.
  
  Adapt to changes in dict_print_info_on_foreign_key_in_create_format.
innobase/trx/trx0trx.c:
  Add trx_set_detailed_error and trx_set_detailed_error_from_file.
  
  Clear trx->detailed_error in trx_create.
innobase/ut/ut0mem.c:
  Add ut_strlcpy.
mysql-test/r/innodb.result:
  Add new tests, adapt existing ones whose output was changed.
mysql-test/t/innodb.test:
  Add new tests, adapt existing ones whose output was changed.
sql/ha_innodb.cc:
  Add get_error_message.
  
  Clear trx->detailed_error in start_stmt and external_lock.
sql/ha_innodb.h:
  Add get_error_message.
sql/handler.cc:
  Add special case code in print_error for HA_ERR_ROW_IS_REFERENCED and
  HA_ERR_NO_REFERENCED_ROW.
  
  Change SETMSG to point to new error messages.
sql/share/errmsg.txt:
  Add ER_ROW_IS_REFERENCED_2 and ER_NO_REFERENCED_ROW_2.
2005-09-23 16:22:27 +03:00
unknown
8acd0fa422 InnoDB: Minor fixes.
innobase/include/trx0trx.h:
  Fix invalid comment.
sql/ha_innodb.cc:
  Change some memory allocations to fail-on-error.
  
  Cast argument of my_free to gptr, not char*.
2005-09-23 14:31:31 +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
aab7ac880d InnoDB: correct two misleading comments
innobase/include/data0type.ic:
  Correct the comment of dtype_get_min_size()
sql/ha_innodb.h:
  Correct the comment of innobase_set_cursor_view()
2005-09-22 13:09:14 +03:00
unknown
1d169a8e25 InnoDB: Remove unused #defines BTR_PAGE_MAX_KEY_SIZE and BTR_COMPRESS_LIMIT. 2005-09-16 15:33:38 +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
8b2b0e2418 univ.i, page0page.ic:
Add a sanity check to page_rec_is_comp; a new univ.i macro UNIV_RELEASE_NOT_YET_STABLE controls such sanity checks that we will remove after the release is stable enough


innobase/include/page0page.ic:
  Add a sanity check to page_rec_is_comp; a new univ.i macro UNIV_RELEASE_NOT_YET_STABLE controls such sanity checks that we will remove after the release is stable enough
innobase/include/univ.i:
  Add a sanity check to page_rec_is_comp; a new univ.i macro UNIV_RELEASE_NOT_YET_STABLE controls such sanity checks that we will remove after the release is stable enough
2005-09-03 19:15:37 +03:00
unknown
a397a194b2 univ.i:
Do not use __builtin_expect etc. with the Intel ICC compiler, as the compiler crashed in btr0cur.c; the patch was submitted by Axel Schwenke (Bug #11510)


innobase/include/univ.i:
  Do not use __builtin_expect etc. with the Intel ICC compiler, as the compiler crashed in btr0cur.c; the patch was submitted by Axel Schwenke (Bug #11510)
2005-08-17 18:15:50 +03:00
unknown
0cd772782e Merge osalerma@bk-internal.mysql.com:/home/bk/mysql-5.0
into  127.(none):/home/osku/mysql-5.0


innobase/srv/srv0srv.c:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
2005-08-12 11:40:02 +03:00
unknown
babc9f5d2b InnoDB: Print more than 300 characters of queries in various error conditions,
most notably deadlocked ones in SHOW INNODB STATUS. Fixes bug #7819.


innobase/btr/btr0pcur.c:
  Adapt to changes in trx_print.
innobase/include/trx0trx.h:
  Add max_query_len parameter to trx_print.
innobase/lock/lock0lock.c:
  Adapt to changes in trx_print.
innobase/row/row0ins.c:
  Adapt to changes in trx_print.
innobase/row/row0sel.c:
  Adapt to changes in trx_print.
innobase/row/row0umod.c:
  Adapt to changes in trx_print.
innobase/row/row0upd.c:
  Adapt to changes in trx_print.
innobase/srv/srv0srv.c:
  Adapt to changes in trx_print.
innobase/trx/trx0trx.c:
  Add max_query_len parameter to trx_print.
sql/ha_innodb.cc:
  Add max_query_len parameter to innobase_mysql_print_thd.
2005-08-12 11:39:19 +03:00
unknown
8158bb033d set_var.cc, mysqld.cc, ha_innodb.h, ha_innodb.cc, srv0srv.c, srv0srv.h:
Added innodb_commit_concurrency variable


innobase/include/srv0srv.h:
  Added innodb_commit_concurrency variable
innobase/srv/srv0srv.c:
  Added innodb_commit_concurrency variable
sql/ha_innodb.cc:
  Added innodb_commit_concurrency variable
sql/ha_innodb.h:
  Added innodb_commit_concurrency variable
sql/mysqld.cc:
  Added innodb_commit_concurrency variable
sql/set_var.cc:
  Added innodb_commit_concurrency variable
2005-08-11 18:03:01 +02:00
unknown
6861b1bf9b A fix and a test case for Bug#12243 "MySQL Server crashes with 2
cursors (+ commit)" and Bug#11832 "Server crash with InnoDB + Cursors"
See comments to the changed files.


innobase/include/read0read.h:
  - add cursor_view_t::n_mysql_tables_in_use
innobase/read/read0read.c:
  - maintain cursor_view_t::n_mysql_tables_in_use. InnoDB
  maintains trx->n_mysql_tables_in_use to know when it can auto-commit
  a read-only statement. When this count drops to zero,
  MySQL has ended processing of such statement and InnoDB can commit.
  Cursors should not break this invariant, and should exclude the tables
  used in a cursor from the count of active tables.
  When a cursor is closed, the number of its tables is added back, 
  to ensure that close_thread_tables->unlock_external->
  ha_innobase::external_lock(F_UNLCK) won't drop the count in trx 
  below zero.
innobase/row/row0sel.c:
  - remove the restoration of the global read view from 
  row_search_for_mysql: MySQL may call row_search_for_mysql
  more than once when fetching a row for a cursor (e.g. if there
  is a WHERE clause that filters out some rows).
sql/ha_innodb.cc:
  - add more verbose printout for the case when we close an InnoDB
  connection without priorlly issuing a commit or rollback. The problem
  should be investigated.
tests/mysql_client_test.c:
  - add a test case for Bug#12243 "MySQL Server crashes with 2 cursors 
  (+ commit)"
2005-08-10 18:36:13 +04:00
unknown
a8bb376fc7 Many files:
Push the patch of Jan Lindstrom: better comments
ha_innodb.cc:
  Partial fix for Bug #12263 : we let InnoDB always to perform a rollback on the trx object if MySQL closes a connection; but we do print a warning to the .err log if an InnoDB transaction was active; we may remove that print later, since the situation really is not a bug; MySQL just is not aware that some cursor operation started an InnoDB transaction


sql/ha_innodb.cc:
  Partial fix for Bug #12263 : we let InnoDB always to perform a rollback on the trx object if MySQL closes a connection; but we do print a warning to the .err log if an InnoDB transaction was active; we may remove that print later, since the situation really is not a bug; MySQL just is not aware that some cursor operation started an InnoDB transaction
sql/ha_innodb.h:
  Push the patch of Jan Lindstrom: better comments
innobase/trx/trx0trx.c:
  Push the patch of Jan Lindstrom: better comments
innobase/srv/srv0srv.c:
  Push the patch of Jan Lindstrom: better comments
innobase/srv/srv0start.c:
  Push the patch of Jan Lindstrom: better comments
innobase/row/row0sel.c:
  Push the patch of Jan Lindstrom: better comments
innobase/read/read0read.c:
  Push the patch of Jan Lindstrom: better comments
innobase/include/read0read.h:
  Push the patch of Jan Lindstrom: better comments
innobase/include/trx0trx.h:
  Push the patch of Jan Lindstrom: better comments
2005-08-03 17:09:21 +03:00
unknown
2e4283e053 Merge hundin.mysql.fi:/home/marko/mysql-4.1
into  hundin.mysql.fi:/home/marko/mysql-5.0


innobase/include/os0file.h:
  Automerge and manual fix
innobase/os/os0file.c:
  Automerged
innobase/trx/trx0sys.c:
  Automerged
2005-07-26 14:43:48 +03:00
unknown
aee8de3527 InnoDB: Do not flush after each write, not even when creating the
data files.  Previously, writes were flushed until the doublewrite
buffer was created.  That would be too slow on systems where
os_file_flush() [or fsync(2)] is slow.  (Bug #12125)


innobase/include/os0file.h:
  Disable os_do_not_call_flush_at_each_write unless #ifdef UNIV_DO_FLUSH
innobase/os/os0file.c:
  Disable os_do_not_call_flush_at_each_write unless #ifdef UNIV_DO_FLUSH
innobase/trx/trx0sys.c:
  Disable os_do_not_call_flush_at_each_write unless #ifdef UNIV_DO_FLUSH
2005-07-26 14:03:34 +03:00
unknown
6fd13aaa3c Implement MySQL framework to support consistent read views in
cursors for InnoDB. The idea of the patch is that if MySQL requests
a consistent read view, we open one when open a cursor, set is as the
active view to a transaction when fetch from the cursor, and close
together with cursor close. This patch is associated to bugs #11813, 
#11832, and #11833. Contains after review fixes.
2005-07-22 14:10:03 +03:00
unknown
98f8091dbe sync0sync.c, sync0sync.h:
Declare 'mutex_list' and 'mutex_list_mutex' extern,
  to avoid link error on OS X and gcc flag "-fno-common"


innobase/include/sync0sync.h:
  Use 'extern' variable declarations, to avoid
  "ld: multiple definitions of symbol" for 'mutex_list'
  and 'mutex_list_mutex' on OS X and gcc flag "-fno-common"
innobase/sync/sync0sync.c:
  Use 'extern' variable declarations, to avoid
  "ld: multiple definitions of symbol" for 'mutex_list'
  and 'mutex_list_mutex' on OS X and gcc flag "-fno-common"
2005-07-21 18:05:10 +02:00
unknown
ec6b1999a5 InnoDB: Make the srv_thread_concurrency checks more consistent.
innobase/include/srv0srv.h:
  Define SRV_CONCURRENCY_THRESHOLD
innobase/srv/srv0srv.c:
  Remove srv_thread_concurrency check from srv_conc_enter_innodb()
  and srv_conc_exit_innodb(), as the check is in the (only) caller
  of these functions, in ha_innodb.cc.
  srv_conc_force_enter_innodb(), srv_conc_force_exit_innodb():
  Check for srv_thread_concurrency >= SRV_CONCURRENCY_THRESHOLD
sql/ha_innodb.cc:
  Make use of SRV_CONCURRENCY_THRESHOLD
2005-07-06 09:38:31 +03:00
unknown
a1da992f4f Merge marko@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/marko/mysql-5.0-current


sql/ha_innodb.cc:
  Auto merged
2005-07-04 16:12:08 +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
5bcbe404c0 trx0trx.ic, trx0trx.h:
Fix bug in the Bug #3300 bug fix


innobase/include/trx0trx.h:
  Fix bug in the Bug #3300 bug fix
innobase/include/trx0trx.ic:
  Fix bug in the Bug #3300 bug fix
2005-07-01 21:06:23 +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
384a0c0a0f InnoDB: Optimize page_cur_search_with_match().
innobase/btr/btr0cur.c:
  Disable the mode PAGE_CUR_LE_OR_EXTENDS at compile-time
innobase/include/page0cur.h:
  Disable the mode PAGE_CUR_LE_OR_EXTENDS at compile-time
  Do not define PAGE_CUR_DBG unless #ifdef UNIV_SEARCH_DEBUG
innobase/page/page0cur.c:
  Disable the mode PAGE_CUR_LE_OR_EXTENDS at compile-time
  Disable PAGE_CUR_DBG unless #ifdef UNIV_SEARCH_DEBUG
  
  page_cur_try_search_shortcut(): Optimize the predicates
  (compare the result of page_cmp_dtuple_rec_with_match() against 0,
  use page_rec_is_supremum()).
  
  page_cur_search_with_match(): Compare the result of
  cmp_dtuple_rec_with_match() against zero, add UNIV_LIKELY hints,
  replace duplicated code with gotos.
2005-06-30 11:15:06 +03:00
unknown
26a52bbe94 Merge hundin.mysql.fi:/home/marko/mysql-4.1
into hundin.mysql.fi:/home/marko/mysql-5.0-current


innobase/fil/fil0fil.c:
  SCCS merged
innobase/include/os0file.h:
  SCCS merged
innobase/os/os0file.c:
  SCCS merged
2005-06-28 10:51:01 +03:00
unknown
1084e540ee InnoDB: Optimize the extension of files. This will greatly speed
up CREATE TABLE in innodb_file_per_table=1 mode.


innobase/fil/fil0fil.c:
  fil_extend_space_to_desired_size(): Do not allocate or initialize
  more memory than is necessary.  Write at most one megabyte at a time.
innobase/include/os0file.h:
  os_file_set_size(): Corrected the synopsis
innobase/os/os0file.c:
  os_file_set_size(): Corrected the synopsis and some comments.
  s/offset/current_size; s/low/desired_size/;
  Do not allocate or initialize more memory than is necessary.
  Write at most one megabyte at a time.
2005-06-27 17:04:57 +03:00
unknown
4d7bca88e9 InnoDB: Correct a function comment.
innobase/include/rem0rec.h:
  rec_get_nth_field(): Correct the comment.
innobase/include/rem0rec.ic:
  rec_get_nth_field(): Correct the comment.
2005-06-22 12:02:31 +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
3236060592 InnoDB: Remove warnings detected by GCC 4.0.0
innobase/fsp/fsp0fsp.c:
  Declare "first" in the scope where it is used, and add dummy return
  statement after ut_error to silence compiler warning.
innobase/include/dyn0dyn.h:
  Add const qualifier to dyn_push_string().
innobase/include/dyn0dyn.ic:
  dyn_push_string(): Add const qualifier to str;
  remove intermediate assignment.
innobase/include/mtr0log.h:
  mlog_write_string(), mlog_catenate_string(): Add const to str
innobase/log/log0log.c:
  Eliminate variables new_oldest and do_preflush in order to avoid
  warnings about possibly uninitialized variables.
  (new_oldest will now be declared in the scope of usage,
  and do_preflush == (advance != 0).)
innobase/log/log0recv.c:
  Remove warnings about uninitialized variables.
  Add UNIV_UNLIKELY() hints.
innobase/mtr/mtr0log.c:
  mlog_write_string(), mlog_catenate_string(): Add const to str
  mlog_write_string(): Add UNIV_UNLIKELY hints to assertion-like tests
innobase/row/row0sel.c:
  Remove warning about possibly uninitialized variable.
  (Always initialize *out_rec.)
2005-06-20 11:06:20 +03:00
unknown
1eec421fec InnoDB: remove flag lock_print_waits from non-debug builds.
innobase/include/lock0lock.h:
  Remove flag lock_print_waits from non-debug builds.
innobase/lock/lock0lock.c:
  Remove flag lock_print_waits from non-debug builds.
  Add InnoDB lock compatibility matrix for easy reference.
innobase/trx/trx0roll.c:
  Remove flag lock_print_waits from non-debug builds.
2005-06-17 15:29:03 +03:00
unknown
ca25e99b16 InnoDB: After review fixes
innobase/include/page0page.ic:
  page_rec_set_next(): s/ut_a()/ut_ad()/
  page_rec_get_prev(): Eliminate a buf_frame_align() call
innobase/lock/lock0lock.c:
  lock_rec_get_first(): Determine heap_no before the loop
2005-06-16 16:59:49 +03:00
unknown
76a11195b8 InnoDB: Fix ut0dbg compilation errors on NetWare
innobase/dict/dict0boot.c:
  Remove dummy code to work around bug in the pgcc compiler.
innobase/include/ut0dbg.h:
  UT_DBG_PANIC: Avoid exit(), as lexyy.c re-#defines exit().
  Move the code to the function ut_dbg_panic() instead.
innobase/ut/ut0dbg.c:
  [__NETWARE__] Add function ut_dbg_panic()
2005-06-16 15:00:25 +03:00
unknown
5fed4f3a50 InnoDB: Remove unreachable debug code from non-debug builds.
innobase/buf/buf0buf.c:
  Remove buf_dbg_counter unless #ifdef UNIV_DEBUG
  Remove buf_debug_prints unless #ifdef UNIV_DEBUG
innobase/buf/buf0flu.c:
  Remove buf_debug_prints unless #ifdef UNIV_DEBUG
innobase/buf/buf0lru.c:
  Remove buf_debug_prints unless #ifdef UNIV_DEBUG
innobase/buf/buf0rea.c:
  Remove buf_debug_prints unless #ifdef UNIV_DEBUG
innobase/include/buf0buf.h:
  Remove buf_debug_prints unless #ifdef UNIV_DEBUG
innobase/include/buf0buf.ic:
  Remove buf_dbg_counter unless #ifdef UNIV_DEBUG
innobase/include/log0log.h:
  Remove log_do_write and log_debug_writes unless #ifdef UNIV_DEBUG
innobase/log/log0log.c:
  Remove log_do_write and log_debug_writes unless #ifdef UNIV_DEBUG
innobase/log/log0recv.c:
  Remove log_debug_writes unless #ifdef UNIV_DEBUG
innobase/srv/srv0start.c:
  Remove log_do_write and buf_debug_prints unless #ifdef UNIV_DEBUG
innobase/sync/sync0sync.c:
  Remove buf_debug_prints unless #ifdef UNIV_DEBUG
2005-06-15 12:50:27 +03:00
unknown
59332c86c0 InnoDB: Remove unreferenced debug functions from non-debug builds.
innobase/buf/buf0buf.c:
  Remove buf_print() and buf_validate() unless #ifdef UNIV_DEBUG
innobase/buf/buf0lru.c:
  Remove buf_LRU_print() and buf_LRU_validate() unless #ifdef UNIV_DEBUG
innobase/include/buf0buf.h:
  Remove buf_print() and buf_validate() unless #ifdef UNIV_DEBUG
innobase/include/buf0lru.h:
  Remove buf_LRU_print() and buf_LRU_validate() unless #ifdef UNIV_DEBUG
innobase/include/rem0rec.h:
  rec_offs_comp(): Correct the comment about return value.
2005-06-13 11:39:31 +03:00
unknown
f6da55d8ce InnoDB: Remove compiler warning
innobase/fil/fil0fil.c:
  Move the declaration of fil_node_t to os0file.h.
  Remove type casting from address-of operation
  (which would break strict aliasing rules)
innobase/include/os0file.h:
  Declare fil_node_t as an opaque structure.
  Replace void* message1 with fil_node_t* message1.
innobase/os/os0file.c:
  Replace void* message1 with fil_node_t* message1.
2005-06-10 15:55:00 +03:00
unknown
2ebdd2d90a InnoDB: minor clean-up in os0file
innobase/include/os0file.h:
  Remove unused function os_aio_all_slots_free() from non-debug builds.
innobase/os/os0file.c:
  Remove unused function os_aio_all_slots_free() from non-debug builds.
  Add static qualifiers to module-global variables.
2005-06-10 14:00:53 +03:00
unknown
5900f0cd5c innobase/include/univ.i: Added some comments.
innobase/include/univ.i:
  Replace PRULINT with ULINTPF in a comment.
  Document the macros based on __builtin_expect()
  and __builtin_prefetch().
2005-06-10 12:29:35 +03:00
unknown
7256cdaa56 InnoDB: Improved the handling of assertions.
innobase/include/ut0dbg.h:
  Write help macros to use in ut_a() and ut_error.
  Moved some ut_a() and ut_error code to non-inlined functions.
  Fixed ut_error on NetWare.
  Reintroduced ut_dbg_zero on non-GCC platforms.
innobase/ut/ut0dbg.c:
  Reintroduced ut_dbg_zero on non-GCC platforms.
  Removed ut_dbg_null_ptr on NetWare.
  Add helpers ut_dbg_assertion_failed() and ut_dbg_stop_thread().
2005-06-10 12:22:23 +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
698502867e After merge fix
innobase/include/srv0srv.h:
  Restore accidentally deleted comment.
2005-05-06 12:43:10 +03:00
unknown
f09d789cb4 Merge 2005-05-06 11:45:59 +03:00
unknown
98eb8d7c16 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/mysql-4.1


sql/ha_innodb.cc:
  Auto merged
2005-05-06 10:15:58 +03:00
unknown
bcd031271f Remove unused function rec_offs_nth_null().
rec_offs_nth_extern(): Return zero/nonzero instead of FALSE/TRUE.


innobase/row/row0upd.c:
  Normalize the return value of rec_offs_nth_extern() to FALSE/TRUE.
  Avoid a repeated call to upd_ext_vec_contains().
2005-04-27 13:35:57 +03:00
unknown
949112c12a Fix bugs found in previous optimizations.
Make rec_get_deleted_flag() return zero/nonzero instead of FALSE/TRUE.


innobase/btr/btr0btr.c:
  btr_page_get_sure_split_rec(): Fix bug caused by optimization
  (dereferencing null pointer in page_rec_is_supremum())
  btr_page_insert_fits(): Correct a debug assertion.
innobase/btr/btr0cur.c:
  Add debug assertions about page_rec_is_comp().
  Add UNIV_LIKELY and UNIV_UNLIKELY hints.
  Note that rec_get_deleted_flag() returns zero/nonzero ulint
  instead of FALSE/TRUE ibool.
innobase/include/page0page.ic:
  Move debug assertion to proper place.
innobase/include/rem0rec.h:
  rec_get_deleted_flag(), rec_set_deleted_flag(): Make the flag
  zero/nonzero in order to avoid FALSE/TRUE normalization in
  every rec_get_deleted_flag() call.
innobase/include/rem0rec.ic:
  rec_get_deleted_flag(), rec_set_deleted_flag(): Make the flag
  zero/nonzero in order to avoid FALSE/TRUE normalization in
  every rec_get_deleted_flag() call.
innobase/rem/rem0rec.c:
  rec_init_offsets(): Fix bugs introduced in optimization.
innobase/row/row0sel.c:
  Make debug assertion stricter.
innobase/row/row0vers.c:
  Note that rec_get_deleted_flag() returns zero/nonzero ulint
  instead of FALSE/TRUE ibool.
2005-04-27 12:28:44 +03:00
unknown
79d3149d3f Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0


innobase/dict/dict0dict.c:
  Auto merged
innobase/fil/fil0fil.c:
  Auto merged
innobase/include/dict0dict.h:
  Auto merged
2005-04-27 03:02:25 +03:00
unknown
705d163124 dict0dict.c, dict0dict.h, fil0fil.c:
Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names


innobase/fil/fil0fil.c:
  Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names
innobase/include/dict0dict.h:
  Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names
innobase/dict/dict0dict.c:
  Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names
2005-04-27 02:57:19 +03:00