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.
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
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
Add more comments to row_search_for_mysql() and remove the ugly double use of the variable rec in that function
innobase/row/row0sel.c:
Add more comments to row_search_for_mysql() and remove the ugly double use of the variable rec in that function
Fix bug #12947 : a consistent read could return inconsistent results; this bug was introduced in 5.0.5
innobase/row/row0sel.c:
Fix bug #12947 : a consistent read could return inconsistent results; this bug was introduced in 5.0.5
into mysql.com:/home/emurphy/src/work/mysql-5.0
BitKeeper/deleted/.del-ctype-cp932.c:
Auto merged
BitKeeper/deleted/.del-ctype_cp932.result:
Auto merged
BitKeeper/deleted/.del-ctype_cp932.test:
Auto merged
include/m_ctype.h:
Auto merged
include/my_sys.h:
Auto merged
innobase/srv/srv0start.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysys/charset.c:
Auto merged
netware/BUILD/nwbootstrap:
Auto merged
sql/item.h:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
strings/ctype-big5.c:
Auto merged
strings/ctype-bin.c:
Auto merged
strings/ctype-czech.c:
Auto merged
strings/ctype-euc_kr.c:
Auto merged
strings/ctype-extra.c:
Auto merged
strings/ctype-gb2312.c:
Auto merged
strings/ctype-gbk.c:
Auto merged
strings/ctype-latin1.c:
Auto merged
strings/ctype-sjis.c:
Auto merged
strings/ctype-tis620.c:
Auto merged
strings/ctype-uca.c:
Auto merged
strings/ctype-ucs2.c:
Auto merged
strings/ctype-ujis.c:
Auto merged
strings/ctype-utf8.c:
Auto merged
strings/ctype-win1250ch.c:
Auto merged
configure.in:
Manual merge from 4.1
include/config-netware.h:
Manual merge from 4.1
sql/item.cc:
Manual merge from 4.1
sql/mysqld.cc:
Manual merge from 4.1
Add diagnostic code to track a crash in adaptive hash indexes; the crash may happen if block->index == NULL
innobase/btr/btr0sea.c:
Add diagnostic code to track a crash in adaptive hash indexes; the crash may happen if block->index == NULL
Temporarily remove error print if MySQL tries to do a SELECT even though trx->n_mysql_tables_in_use is 0. We must return the error print when the lock count of cursors is properly implemented (Bug #12456)
innobase/row/row0sel.c:
Temporarily remove error print if MySQL tries to do a SELECT even though trx->n_mysql_tables_in_use is 0. We must return the error print when the lock count of cursors is properly implemented (Bug #12456)
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)
innobase/srv/srv0start.c:
added line to error message clearly indicating that to get AWE support
the user must compile InnoDB with __WIN2000__ defined.
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.
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)"
Fix a bug: InnoDB could in a crash recovery print a big false corruption warning if the first page of an ibdata file was 'recreated' in the buffer pool; this could happen, for example, if a table was dropped, and the page used later
innobase/buf/buf0buf.c:
Fix a bug: InnoDB could in a crash recovery print a big false corruption warning if the first page of an ibdata file was 'recreated' in the buffer pool; this could happen, for example, if a table was dropped, and the page used later
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
row_sel_store_mysql_rec(): Make comment about space padding
more accurate.
innobase/row/row0sel.c:
row_sel_store_mysql_rec(): Make comment about space padding
more accurate.
correctly.
innobase/row/row0sel.c:
Initialize NULL true VARCHAR columns with NUL bytes, as that is
what the columns will contain in handler::write_row(). (Bug #12186)
mysql-test/r/innodb.result:
Update table checksums to reflect the new handling of
true VARCHAR columns that are NULL.
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
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.
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"
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
Optimize speed: no need to keep track of set new rec locks in a consistent read
innobase/row/row0sel.c:
Optimize speed: no need to keep track of set new rec locks in a consistent read
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
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
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
innobase/rem/rem0rec.c:
rec_set_nth_field_extern_bit_new(): Fix a bug
(read the "extern" flag from the correct position).
rec_set_nth_field_extern_bit_new(),
rec_convert_dtuple_to_rec_new(),
rec_copy_prefix_to_buf(): Eliminate variables, reduce branching,
optimize the handling of the null flags.
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.
Remove compiler warnings on Windows - Bug #11580
innobase/btr/btr0btr.c:
Remove compiler warnings on Windows - Bug #11580
innobase/btr/btr0cur.c:
Remove compiler warnings on Windows - Bug #11580
innobase/fil/fil0fil.c:
Remove compiler warnings on Windows - Bug #11580
innobase/ibuf/ibuf0ibuf.c:
Remove compiler warnings on Windows - Bug #11580
innobase/log/log0recv.c:
Remove compiler warnings on Windows - Bug #11580
innobase/os/os0file.c:
Remove compiler warnings on Windows - Bug #11580
innobase/page/page0page.c:
Remove compiler warnings on Windows - Bug #11580
innobase/row/row0upd.c:
Remove compiler warnings on Windows - Bug #11580
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.
Fix for compilation failure with Forte Developer C++.
configure.in:
Export ARFLAGS, so innobase could pick it up.
innobase/configure.in:
Use ARFLAGS exported by parent configure script.
innobase/btr/btr0cur.c:
Replace for loop with memset()
innobase/buf/buf0buf.c:
buf_print(): Remove for loop for initializing counts[].
Similar to index_ids[], the elements of this array will
be initialized when they are allocated, i.e., counts[n_found++] = 1.
innobase/os/os0file.c:
Replace for loop with memset()
innobase/page/page0page.c:
Replace for loop with memset()
innobase/trx/trx0rec.c:
Replace for loop with memset()
log_checkpoint_margin(): Correct a typo that was introduced
when fixing gcc 4.0 warnings.
innobase/log/log0log.c:
log_checkpoint_margin(): Correct a typo that was introduced
when fixing gcc 4.0 warnings.