Print a better error message to the .err log if InnoDB's advisory file locking fails
innobase/os/os0file.c:
Print a better error message to the .err log if InnoDB's advisory file locking fails
Let MySQL check the existence of readdir_r with 3 arguments; Solaris seems to have just 2 args
Check the existence of readdir_r and localtime_r; even though MySQL does check these too, we need our own check for Hot Backup code
os0file.c:
Use re-entrant readdir_r where available
ut0ut.c:
Make a function to use thread-safe localtime_r where available; that particular function was not called from anywhere, though
innobase/ut/ut0ut.c:
Make a function to use thread-safe localtime_r where available; the function was not called from anywhere, though
innobase/os/os0file.c:
Use re-entrant readdir_r where available
innobase/configure.in:
Let MySQL check the existence of readdir_r with 3 arguments; Solaris seems to have just 2 args
Rename lock_table_exclusive to lock_is_table_exclusive
(somehow this change was omitted from last changeset)
innobase/include/lock0lock.h:
Rename lock_table_exclusive to lock_is_table_exclusive
(somehow this change was omitted from last changeset)
If UNIV_DEBUG is defined, lock_get_type() was called before function definition: fix this
innobase/lock/lock0lock.c:
If UNIV_DEBUG is defined, lock_get_type() was called before function definition: fix this
contains auto_increment columns. (Bug #6633)
innobase/include/lock0lock.h:
Replaced lock_get_table()
with lock_get_src_table() and lock_is_table_exclusive()
innobase/lock/lock0lock.c:
Replaced lock_get_table()
with lock_get_src_table() and lock_is_table_exclusive()
sql/ha_innodb.cc:
ha_innobase::write_row(): Improve the ALTER TABLE optimization
(do intermediate COMMIT also if table contains auto_increment columns)
BitKeeper/etc/logging_ok:
auto-union
innobase/srv/srv0srv.c:
Auto merged
mysql-test/t/select.test:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/slave.cc:
Auto merged
innobase/include/lock0lock.h:
Replaced lock_get_ix_table() with lock_get_table().
innobase/lock/lock0lock.c:
Replaced lock_get_ix_table() with lock_get_table().
innobase/include/row0mysql.h:
row_lock_table_for_mysql(): Added parameter mode.
innobase/row/row0mysql.c:
row_lock_table_for_mysql(): Added parameter mode.
sql/ha_innodb.cc:
ha_innobase::write_row(): Make ALTER TABLE commits more robust:
account for conversions from non-InnoDB format,
do not attempt to commit if there are other than
a single IX or IS lock on the source table, and
the source table is in InnoDB format. This
prohibits intermediate commits for OPTIMIZE TABLE
if the table contains an auto_increment field.
srv_lock_timeout_and_monitor_thread(): write to srv_monitor_file
only if --innodb_status_file=1
innobase/srv/srv0srv.c:
srv_lock_timeout_and_monitor_thread(): write to srv_monitor_file
only if --innodb_status_file=1
Fix bug #6817 and bug #6827 : do not crash the server if the buffer pool becomes filled by the locks of ONE huge transaction, return error 1206 instead; do not crash the server, but return error if we cannot allocate memory for the buffer pool at a mysqld startup
innobase/buf/buf0buf.c:
Fix bug #6817 and bug #6827 : do not crash the server if the buffer pool becomes filled by the locks of ONE huge transaction, return error 1206 instead; do not crash the server, but return error if we cannot allocate memory for the buffer pool at a mysqld startup
innobase/buf/buf0lru.c:
Fix bug #6817 and bug #6827 : do not crash the server if the buffer pool becomes filled by the locks of ONE huge transaction, return error 1206 instead; do not crash the server, but return error if we cannot allocate memory for the buffer pool at a mysqld startup
innobase/include/buf0lru.h:
Fix bug #6817 and bug #6827 : do not crash the server if the buffer pool becomes filled by the locks of ONE huge transaction, return error 1206 instead; do not crash the server, but return error if we cannot allocate memory for the buffer pool at a mysqld startup
innobase/include/db0err.h:
Fix bug #6817 and bug #6827 : do not crash the server if the buffer pool becomes filled by the locks of ONE huge transaction, return error 1206 instead; do not crash the server, but return error if we cannot allocate memory for the buffer pool at a mysqld startup
innobase/include/row0sel.h:
Fix bug #6817 and bug #6827 : do not crash the server if the buffer pool becomes filled by the locks of ONE huge transaction, return error 1206 instead; do not crash the server, but return error if we cannot allocate memory for the buffer pool at a mysqld startup
innobase/include/ut0mem.h:
Fix bug #6817 and bug #6827 : do not crash the server if the buffer pool becomes filled by the locks of ONE huge transaction, return error 1206 instead; do not crash the server, but return error if we cannot allocate memory for the buffer pool at a mysqld startup
innobase/mem/mem0pool.c:
Fix bug #6817 and bug #6827 : do not crash the server if the buffer pool becomes filled by the locks of ONE huge transaction, return error 1206 instead; do not crash the server, but return error if we cannot allocate memory for the buffer pool at a mysqld startup
innobase/row/row0mysql.c:
Fix bug #6817 and bug #6827 : do not crash the server if the buffer pool becomes filled by the locks of ONE huge transaction, return error 1206 instead; do not crash the server, but return error if we cannot allocate memory for the buffer pool at a mysqld startup
innobase/row/row0sel.c:
Fix bug #6817 and bug #6827 : do not crash the server if the buffer pool becomes filled by the locks of ONE huge transaction, return error 1206 instead; do not crash the server, but return error if we cannot allocate memory for the buffer pool at a mysqld startup
innobase/srv/srv0start.c:
Fix bug #6817 and bug #6827 : do not crash the server if the buffer pool becomes filled by the locks of ONE huge transaction, return error 1206 instead; do not crash the server, but return error if we cannot allocate memory for the buffer pool at a mysqld startup
innobase/ut/ut0mem.c:
Fix bug #6817 and bug #6827 : do not crash the server if the buffer pool becomes filled by the locks of ONE huge transaction, return error 1206 instead; do not crash the server, but return error if we cannot allocate memory for the buffer pool at a mysqld startup
Fix linking error in 5.0: the build system for Linux/S390 does not have inlining working in the compiler; remove inlining on that system
innobase/configure.in:
Fix linking error in 5.0: the build system for Linux/S390 does not have inlining working in the compiler; remove inlining on that system
innobase/row/row0sel.c:
Fixed bug: innodb_locks_unsafe_for_binlog still uses next-key locking (BUG #6747).
We do not take gap type locks when using InnoDB startup option
innodb_locks_unsafe_for_binlog. Some code polishing also done.
Print a warning to the .err log if the InnoDB history list length is > 20 000 even though purge reaches the list head; this is to track corruption reported on the MySQL mailing list Nov 9, 2004
lock0lock.c:
Let SHOW INNODB STATUS print the history list length
innobase/lock/lock0lock.c:
Let SHOW INNODB STATUS print the history list length
innobase/trx/trx0purge.c:
Print a warning to the .err log if the InnoDB history list length is > 20 000 even though purge reaches the list head; this is to track corruption reported on the MySQL mailing list Nov 9, 2004
innobase/trx/trx0undo.c:
Print a warning to the .err log if the InnoDB history list length is > 20 000 even though purge reaches the list head; this is to track corruption reported on the MySQL mailing list Nov 9, 2004
Fix bug introduced in 4.1.1: InnoDB no longer respected the data file max size given in :autoextend:max:
innobase/fil/fil0fil.c:
Fix bug introduced in 4.1.1: InnoDB no longer respected the data file max size given in :autoextend:max:
innobase/include/fil0fil.h:
Fix bug introduced in 4.1.1: InnoDB no longer respected the data file max size given in :autoextend:max:
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-Makefile.am:
Delete: Docs/Images/Makefile.am
Build-tools/Bootstrap:
Auto merged
Docs/Makefile.am:
Auto merged
configure.in:
Auto merged
include/mysql.h:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
libmysql/libmysql.c:
Auto merged
mysys/default.c:
Auto merged
scripts/mysqld_safe.sh:
Auto merged
sql/log.cc:
Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_table.cc:
Auto merged
client/mysqldump.c:
merge with 4.0
(This only reorders options)
sql/ha_innodb.cc:
merge with 4.0 (Keep original code)
sql/time.cc:
Note that part of this patch is done in my_time.c
Fix a bug in InnoDB code that fortunately was never used: row id is stored in a record always as a 6-byte unsigned integer, in a 'non-compressed' form
innobase/include/dict0dict.ic:
Fix a bug in InnoDB code that fortunately was never used: row id is stored in a record always as a 6-byte unsigned integer, in a 'non-compressed' form
Do not print to .err log about discarding ibuf entries in DISCARD TABLESPACE; removed compiler warning about unused variable
innobase/ibuf/ibuf0ibuf.c:
Do not print to .err log about discarding ibuf entries in DISCARD TABLESPACE; removed compiler warning about unused variable
innobase/include/lock0lock.h:
Added function lock_get_ix_table()
innobase/include/row0mysql.h:
Added parameter "table" to row_lock_table_for_mysql()
innobase/lock/lock0lock.c:
Added function lock_get_ix_table()
innobase/row/row0mysql.c:
Added parameter "table" to row_lock_table_for_mysql()
sql/ha_innodb.cc:
write_row(): commit every 10000 rows in ALTER TABLE
sql/ha_innodb.h:
Added member variable num_write_row
innobase/dict/dict0dict.c:
dict_scan_to(): skip quoted strings while scanning for the keyword
dict_create_foreign_constraints_low(): allow quote immediately after CONSTRAINT
Raise fatal semaphore wait timeout to 2 hours when we are printing the InnoDB table monitor output
innobase/dict/dict0load.c:
Raise fatal semaphore wait timeout to 2 hours when we are printing the InnoDB table monitor output
Build-tools/mysql-copyright:
Auto merged
Docs/Support/texi2html:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/eval/eval0eval.c:
Auto merged
innobase/pars/pars0pars.c:
Auto merged
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
dict0dict.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it; fix also a hang that would occur if one tried in ALTER TABLE or RENAME TABLE to create a foreign key constraint name that collided with another existing name
innobase/dict/dict0crea.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
innobase/dict/dict0load.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
innobase/dict/dict0dict.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it; fix also a hang that would occur if one tried in ALTER TABLE or RENAME TABLE to create a foreign key constraint name that collided with another existing name
innobase/eval/eval0eval.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
innobase/pars/pars0pars.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
innobase/row/row0mysql.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
BitKeeper/deleted/.del-innodb-lock-master.opt~f76a4a1999728f87:
Auto merged
innobase/include/trx0sys.h:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/trx/trx0purge.c:
Auto merged
innobase/trx/trx0rseg.c:
Auto merged
mysql-test/r/innodb-lock.result:
Auto merged
mysql-test/t/innodb-lock.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/mysqld.cc:
Use local version during merge
Print to the .err log a more detailed error message if in IMPORT TABLESPACE the .ibd file does not exist
innobase/fil/fil0fil.c:
Print to the .err log a more detailed error message if in IMPORT TABLESPACE the .ibd file does not exist
Print more warnings to the .err log if ALTER TABLE ... IMPORT TABLESPACE fails for some reason
os0file.c:
Do not call exit(1) if os_file_delete() fails; remove unused parameter from
handle_error_no_exit()
fil0fil.c:
Allow DROP TABLE even if the .ibd file for the table does not exist
innobase/fil/fil0fil.c:
Allow DROP TABLE even if the .ibd file for the table does not exist
innobase/os/os0file.c:
Dono not call exit(1) if os_file_delete() fails; remove unused parameter from handle_error_no_exit()
innobase/row/row0mysql.c:
Print more warnings to the .err log if ALTER TABLE ... IMPORT TABLESPACE fails for some reason
Add typecast from ulint to ssize_t in pread and pwrite, so that the type is according to the Linux man page; this will probably not help to fix the HP-UX 32-bit pwrite failure, since the compiler should do the appropriate typecasts anyway
innobase/os/os0file.c:
Add typecast from ulint to ssize_t in pread and pwrite, so that the type is according to the Linux man page; this will probably not help to fix the HP-UX 32-bit pwrite failure, since the compiler should do the appropriate typecasts anyway
Fix bug #5961: release the dictionary latch during a long cascaded FOREIGN KEY operation, so that we do not starve other users
innobase/row/row0ins.c:
Fix bug #5961: release the dictionary latch during a long cascaded FOREIGN KEY operation, so that we do not starve other users
innobase/row/row0mysql.c:
Fix bug #5961: release the dictionary latch during a long cascaded FOREIGN KEY operation, so that we do not starve other users
for InnoDB tables. Note that these times may always be correct ones,
because for example ALTER TABLE creates a table again.
innobase/include/os0file.h:
Added information of file timestamps and a function os_file_get_status
to get that information using stat().
innobase/os/os0file.c:
Added function that return information obout the specified file.
sql/ha_innodb.cc:
Get timestamps for the file where the table is stored.
BitKeeper/etc/logging_ok:
auto-union
Docs/Support/texi2html:
Auto merged
innobase/trx/trx0rec.c:
Auto merged
libmysql/libmysql.c:
Auto merged
myisam/myisampack.c:
Auto merged
mysql-test/t/innodb-lock.test:
Auto merged
mysys/thr_lock.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/sql_acl.cc:
Keep old code
into mishka.local:/home/my/mysql-4.1
client/mysqlimport.c:
Auto merged
libmysql/libmysql.c:
Auto merged
ndb/src/ndbapi/ndberror.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/item.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
Simple optimzations and cleanups
Removed compiler warnings and fixed portability issues
Added client functions 'mysql_embedded()' to allow client to check if we are using embedded server
Fixes for purify
client/mysqlimport.c:
Remove not used variable
client/mysqltest.c:
Remove usage of MAXPATHLEN (all MySQL code uses FN_REFLEN)
Simplified code
Remove usage of sprintf("%llu") as this is not portable
include/mysql.h:
Added mysql_embedded() to be able to easily check if we are using the embedded server
innobase/srv/srv0start.c:
Don't use memcmp() when using purify (to avoid false warnings)
libmysql/libmysql.c:
Added mysql_embedded() to be able to easily check if we are using the embedded server
libmysql/libmysql.def:
Added mysql_embedded() to be able to easily check if we are using the embedded server
myisam/myisam_ftdump.c:
Remove compiler warning
myisam/myisamchk.c:
Remove compiler warning
myisam/rt_test.c:
#ifdef not used code
mysys/hash.c:
Remove compiler warning (from last push)
mysys/my_gethwaddr.c:
Remove compiler warning
ndb/src/ndbapi/ndberror.c:
#ifdef not used code
regex/regcomp.c:
Remove not used code
regex/regcomp.ih:
Remove not used code (to remove compiler warnings)
sql-common/client.c:
Remove compiler warnings
sql/field.cc:
Simple optimization
sql/ha_innodb.cc:
Rename mysql_embedded -> mysqld_embedded
sql/item.cc:
Fix comments
Move variables first on block
Remove else after return
Simple optimizations
(no logic changes)
sql/item_cmpfunc.cc:
Added comment
sql/mysql_priv.h:
Rename mysql_embedded -> mysqld_embedded
sql/mysqld.cc:
Rename mysql_embedded -> mysqld_embedded
sql/sql_acl.cc:
Added comments
simple optimization
Fixed 'very unlikely' bug when doing REVOKE ALL PRIVILEGES
sql/sql_select.cc:
More comments
Simple optimization
sql/sql_show.cc:
Simple changes to make similar code similar
More comments
sql/sql_string.cc:
Trivial optimization and better code layout
strings/Makefile.am:
Change xml.c to use bcmp to avoid warnings from purify
strings/xml.c:
Change xml.c to use bcmp to avoid warnings from purify
tests/client_test.c:
Remove usage of MAXPATHLEN (all MySQL code uses FN_REFLEN)
InnoDB: print info about how many bytes we were able to read if a file read is not able to read as many bytes as we requested
innobase/os/os0file.c:
InnoDB: print info about how many bytes we were able to read if a file read is not able to read as many bytes as we requested
innobase/dict/dict0dict.c:
Use innobase_strcasecmp() and innobase_casedn_str()
instead of ut_cmp_in_lower_case() and ut_cpy_in_lower_case()
innobase/include/ut0byte.h:
Remove ut_cpy_in_lower_case() and ut_cmp_in_lower_case()
innobase/ut/ut0byte.c:
Remove ut_cpy_in_lower_case() and ut_cmp_in_lower_case()
sql/ha_innodb.cc:
Add innobase_strcasecmp() and innobase_casedn_str()
Replace tolower() loop with innobase_casedn_str()
Replace my_casedn_str() with innobase_casedn_str()
Replace ut_cmp_in_lower_case() with innobase_strcasecmp()
If innodb_thread_concurrency would be exceeded, let a thread sleep 10 ms before entering the FIFO queue; previously, the value was 50 ms, which Peter Z considered too long
innobase/srv/srv0srv.c:
If innodb_thread_concurrency would be exceeded, let a thread sleep 10 ms before entering the FIFO queue; previously, the value was 50 ms, which Peter Z considered too long
was the query REPLACE or LOAD DATA INFILE REPLACE.
innobase/row/row0ins.c:
Find SQL-query directly from current thread and see if the
query was REPLACE or LOAD DATA INFILE REPLACE.
sql/ha_innodb.cc:
Find current thread and return true if SQL-query in the current
thread was either REPLACE or LOAD DATA INFILE REPLACE.