Work around the AIX 5.1 security patch ML7 problem in errno when it should be EEXIST
innobase/srv/srv0start.c:
Work around the AIX 5.1 security patch ML7 problem in errno when it should be EEXIST
Work around the AIX 5.1 ML7 patch problem in errno at a higher level, in srv0start.c
os0file.c:
Revert the AIX patch here
innobase/os/os0file.c:
Revert the AIX patch here
innobase/srv/srv0start.c:
Work around the AIX 5.1 ML7 patch problem in errno at a higher level, in srv0start.c
AIX 5.1 after security patch ML7 seems to contain a bug that instead of EEXIST it sets errno to 0 if a file creation fails because the file already exists. Work around that bug by interpreting errno 0 in AIX as EEXIST.
innobase/os/os0file.c:
AIX 5.1 after security patch ML7 seems to contain a bug that instead of EEXIST it sets errno to 0 if a file creation fails because the file already exists. Work around that bug by interpreting errno 0 in AIX as EEXIST.
row_sel_store_mysql_rec(): Do not try to space-pad BLOB fields. (Bug #8771)
innobase/row/row0sel.c:
row_sel_store_mysql_rec(): Do not try to space-pad BLOB fields. (Bug #8771)
innobase/include/srv0srv.h:
Declare srv_auto_extend_increment and srv_max_purge_lag as ulong,
because ulint and ulong are of different size on Win64.
innobase/srv/srv0srv.c:
Declare srv_auto_extend_increment and srv_max_purge_lag as ulong,
because ulint and ulong are of different size on Win64.
(No really critical errors found, but a few possible wrong results)
innobase/dict/dict0dict.c:
Replace memcmp with comparison of characters to avoid warnings from purify when 'sptr' points to a very short string
mysql-test/r/select_found.result:
Add missing drop table
mysql-test/r/type_set.result:
More tests
mysql-test/t/select_found.test:
Add missing drop table
mysql-test/t/type_set.test:
More tests
mysys/my_init.c:
Avoid warning from purify (purify doesn't handle getrusage() properly)
sql/field.h:
enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
sql/filesort.cc:
enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
sql/item_cmpfunc.cc:
Fixed warning from purify. (Not critical as the arguments are passed to a function but not used)
Allocate Arg_comparator() with 'new' instead of sql_alloc() to ensure proper initialization
sql/mysqld.cc:
Wait for signal handler to stop when running --bootstrap
(Fixes warning from purify)
sql/sql_insert.cc:
Initialize slot used by innodb.cc (not critical)
sql/sql_lex.h:
Better comments
sql/sql_repl.cc:
memcmp -> bcmp() to avoid warning from purify
sql/sql_select.cc:
Fix for out-of-bound memory reference when doing DISTINCT on const expressions
strings/ctype-simple.c:
Fixes to not access uninitialized memory
(Not critical)
Check if node == NULL, which means we are outside tablespace bounds, and print a big fatal error message
innobase/fil/fil0fil.c:
Check if node == NULL, which means we are outside tablespace bounds, and print a big fatal error message
Fix bug #8677: if one used LOCK TABLES, created an InnoDB temp table, and did a multi-table update where a MyISAM table was the update table and the temp table was a read table, then InnoDB aserted in row0sel.c because n_mysql_tables_in_use was 0. Also, we remove the assertion altogether and just print an error to the .err log if this important consistency check fails. Then it is up to the user to read the .err log and notice the problem if there still are errors in MySQL's table locking.
innobase/row/row0sel.c:
Fix bug #8677: if one used LOCK TABLES, created an InnoDB temp table, and did a multi-table update where a MyISAM table was the update table and the temp table was a read table, then InnoDB aserted in row0sel.c because n_mysql_tables_in_use was 0. Also, we remove the assertion altogether and just print an error to the .err log if this important consistency check fails. Then it is up to the user to read the .err log and notice the problem if there still are errors in MySQL's table locking.
Fix a debug assertion in rem0rec.ic on AMD64; 4.1 was already fixed
innobase/include/rem0rec.ic:
Fix a debug assertion in rem0rec.ic on AMD64; 4.1 was already fixed
(Bug #7788 "Table is full" occurs during a multitable update")
client/mysqldump.c:
Style fixes
innobase/include/univ.i:
UNIV_DEBUG should not depend on configure --debug but on --debug=full
mysql-test/r/compare.result:
Added test to find bug in previous bugfix
mysql-test/t/compare.test:
Added test to find bug in previous bugfix
mysys/my_handler.c:
Proper fix for comparision with ' '
strings/ctype-big5.c:
Proper fix for comparision with ' '
strings/ctype-bin.c:
Proper fix for comparision with ' '
strings/ctype-gbk.c:
Proper fix for comparision with ' '
strings/ctype-latin1.c:
Proper fix for comparision with ' '
strings/ctype-mb.c:
Proper fix for comparision with ' '
strings/ctype-simple.c:
Proper fix for comparision with ' '
strings/ctype-sjis.c:
Proper fix for comparision with ' '
strings/ctype-tis620.c:
Proper fix for comparision with ' '
strings/ctype-ucs2.c:
Proper fix for comparision with ' '
strings/ctype-utf8.c:
Proper fix for comparision with ' '
Fix an assertion failure in 64-bit computers if UNIV_MEM_DEBUG is defined
innobase/mem/mem0pool.c:
Fix an assertion failure in 64-bit computers if UNIV_MEM_DEBUG is defined
Use a 32-bit right-shift implementation through a 64-bit integer that should work ok for both gcc and Visual C++; the code depended on defining SIZEOF_LONG, and that is not set when compiling ibbackup
innobase/ut/ut0ut.c:
Use a 32-bit right-shift implementation through a 64-bit integer that should work ok for both gcc and Visual C++; the code depended on defining SIZEOF_LONG, and that is not set when compiling ibbackup
Fix Windows porting bugs that broke ibbackup: 1) wrong error check in for CreateDirectory(), 2) wrong error check if the file did not exist in DeleteFile(), 3) too strict sharing restrictions in os_file_create_simple(): when ibbackup called that function, it would not allow mysqld to write to the file
innobase/os/os0file.c:
Fix Windows porting bugs that broke ibbackup: 1) wrong error check in for CreateDirectory(), 2) wrong error check if the file did not exist in DeleteFile(), 3) too strict sharing restrictions in os_file_create_simple(): when ibbackup called that function, it would not allow mysqld to write to the file
We accidentally checked if the DIRECTORY is of type OS_FILE_TYPE_UNKNOWN; our intention was to check if the FILE is that; best to remove the check altogether, as in crash recovery it is safest to try to open also files whose type is unknown
os0file.c:
Fix a bug: in Windows, os_file_readdir_next_file() returned OS_FILE_TYPE_UNKNOWN as the type of a regular file; this did not break mysqld, but did break ibbackup on Windows
innobase/os/os0file.c:
Fix a bug: in Windows, os_file_readdir_next_file() returned OS_FILE_TYPE_UNKNOWN as the type of a regular file; this did not break mysqld, but did break ibbackup on Windows
innobase/fil/fil0fil.c:
We accidentally checked if the DIRECTORY is of type OS_FILE_TYPE_UNKNOWN; our intention was to check if the FILE is that; best to remove the check altogether, as in crash recovery it is safest to try to open also files whose type is unknown
Add more diagnostics about why page reads in recovery may hang: print the number of pending pread calls
innobase/buf/buf0rea.c:
Add more diagnostics about why page reads in recovery may hang: print the number of pending pread calls
BitKeeper/etc/ignore:
added libmysqld/examples/mysqltest_embedded
client/mysqlbinlog.cc:
Call mysql_close() before die()
innobase/include/eval0eval.ic:
Remove assert that fails on 64 bit machines
(Tested with BUILD/compile-pentium64-valgrind-max on 64 bit Intel CPU)
sql/mysqld.cc:
Force lower_case_table_names to 0 if set to 2 on case insensitive file name
sql/sql_select.cc:
Remove #if 0
Fix a race condition that could cause the assertion space->n_pending_flushes == 0 to fail in fil0fil.c, in fil_space_free(), in DROP TABLE or in ALTER TABLE
innobase/fil/fil0fil.c:
Fix a race condition that could cause the assertion space->n_pending_flushes == 0 to fail in fil0fil.c, in fil_space_free()
Fix bug #8021 :Windows error number 87 with multiple tablespaces after mysqld restart; still has to be tested on Windows that this now works
innobase/fil/fil0fil.c:
Fix bug #8021 :Windows error number 87 with multiple tablespaces after mysqld restart; still has to be tested on Windows that this now works
Add diagnostic code to track corruption in mix_len; it was reported on the mailing list Jan 14, 2005
innobase/dict/dict0crea.c:
Add diagnostic code to track corruption in mix_len; it was reported on the mailing list Jan 14, 2005
innobase/dict/dict0load.c:
Add diagnostic code to track corruption in mix_len; it was reported on the mailing list Jan 14, 2005
at run-time, so that an executable compiled on Mac OS X 10.2 can
be run on Mac OS X 10.2 (without the work-around) and Mac OS X 10.3
and later with the work-aroud enabled.
innobase/include/srv0start.h:
Mac OS X: Add srv_have_fullfsync
innobase/os/os0file.c:
os_file_flush(): Use F_FULLFSYNC on Mac OS X 10.3, but not on 10.2
innobase/srv/srv0start.c:
innobase_start_or_create_for_mysql(): When compiled on OS X 10.2,
detect if the binary is running on OS X 10.3 or later, and set
srv_have_fullfsync accordingly.
open interface for setting the "delete-on-close" flag.
innobase/os/os0file.c:
Use system-supplied tmpfile() on Netware
sql/ha_innodb.cc:
Remove innobase_mysql_tmpfile() on Netware.
into hundin.mysql.fi:/home/marko/k/mysql-4.1
innobase/include/row0mysql.h:
Auto merged
innobase/row/row0sel.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
key check because we can allow inserts into gaps (Support Issue #4317).
innobase/row/row0ins.c:
Take a shared record lock (LOCK_REC_NOT_GAP) for a matching record in the foreign
key check because we can allow inserts into gaps.
Fix compiler error on those OS X platforms where Apple's special file flush trick with fcntl() is not defined
innobase/os/os0file.c:
Fix compiler error on those OS X platforms where Apple's special file flush trick with fcntl() is not defined
Use the fcntl() file flush method on OS X; Apple disabled fsync() for internal disk drives, which caused corruption in power outages; the patch was recommended by an Apple engineer
innobase/os/os0file.c:
Use the fcntl() file flush method on OS X; Apple disabled fsync() for internal disk drives, which caused corruption in power outages; the patch was recommended by an Apple engineer
Fix a wrong memset in InnoDB Hot Backup code; the bug probably did not affect anything since we do not assume that the header of a log file is filled with zeros before writing the header info there; the bug found by Felix von Leitner
innobase/log/log0recv.c:
Fix a wrong memset in InnoDB Hot Backup code; the bug probably did not affect anything since we do not assume that the header of a log file is filled with zeros before writing the header info there; the bug found by Felix von Leitner
Fix a little bug in InnoDB: we looked at the physical size of a stored SQL NULL value from a wrong field in the index; this has probably caused no bugs visible to the user, only caused some extra space usage in some rare cases; we may later backport the fix to 4.0
innobase/row/row0upd.c:
Fix a little bug in InnoDB: we looked at the physical size of a stored SQL NULL value from a wrong field in the index; this has probably caused no bugs visible to the user, only caused some extra space usage in some rare cases; we may later backport the fix to 4.0
Print a more descriptive error and refuse to start InnoDB if the size of ibdata files is smaller than what is stored in the tablespace header; innodb_force_recovery will override this
innobase/srv/srv0start.c:
Print a more descriptive error and refuse to start InnoDB if the size of ibdata files is smaller than what is stored in the tablespace header; innodb_force_recovery will override this
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
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
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
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
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
Fix InnoDB bug: on HP-UX, with a 32-bit binary, InnoDB was only able to read or write <= 2 GB files; the reason was that InnoDB treated the return value of lseek() as a 32-bit integer; lseek was used on HP-UX-11 as a replacement for pread() and pwrite() because HAVE_BROKEN_PREAD was defined on that platform
innobase/os/os0file.c:
Fix InnoDB bug: on HP-UX, with a 32-bit binary, InnoDB was only able to read or write <= 2 GB files; the reason was that InnoDB treated the return value of lseek() as a 32-bit integer; lseek was used on HP-UX-11 as a replacement for pread() and pwrite() because HAVE_BROKEN_PREAD was defined on that platform
that affected the UCS2 character set. (Bug #7350)
innobase/data/data0type.c:
Added dtype_get_charset_coll_noninline()
innobase/include/data0type.h:
Added dtype_get_charset_coll_noninline()
innobase/include/row0mysql.h:
Added charset field to mysql_row_templ_struct.
innobase/include/row0mysql.ic:
row_mysql_store_col_in_innobase_format():
When removing trailing spaces, treat the UCS2 character set properly.
innobase/rem/rem0cmp.c:
cmp_whole_field(): Do not remove trailing 0x20 bytes, as
innobase_mysql_cmp() implicitly pads the strings with trailing
spaces as necessary.
innobase/row/row0sel.c:
row_sel_field_store_in_mysql_format(): Do not pad with 0x20 bytes.
row_sel_store_mysql_rec(): Pad VARCHARs with trailing spaces
(0x20, or 0x0020 in UCS2).
sql/ha_innodb.cc:
build_template(): Initialize templ->charset
innobase/dict/dict0dict.c:
Auto merged
innobase/include/dict0dict.h:
Auto merged
sql/log.cc:
Auto merged
sql/ha_innodb.cc:
SCCS merged
sql/sql_class.cc:
SCCS merged
Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
sql/ha_innodb.cc:
Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
innobase/dict/dict0dict.c:
Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
innobase/include/dict0dict.h:
Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
In the FOREIGN KEY parser, do not cut 0xC2A0 from the end of an identifier if it was quoted
innobase/dict/dict0dict.c:
In the FOREIGN KEY parser, do not cut 0xC2A0 from the end of an identifier if it was quoted
Fix the bug that the character 0xA0 that EMS MySQL Manager in ALTER TABLE adds after a table name confuses the InnoDB FOREIGN KEY parser, causing an error 121 when we try to add a new constraint; a full fix would require the lexer to be aware of thd->charset_info() and UTF-8
innobase/dict/dict0dict.c:
Fix the bug that the character 0xA0 that EMS MySQL Manager in ALTER TABLE adds after a table name confuses the InnoDB FOREIGN KEY parser, causing an error 121 when we try to add a new constraint; a full fix would require the lexer to be aware of thd->charset_info() and UTF-8
srv_printf_innodb_monitor(): Removed extraneous rewind() call.
The caller of this function calls rewind() if necessary.
In this way, we avoid rewind()ing stderr in
srv_lock_timeout_and_monitor_thread().
innobase/srv/srv0srv.c:
srv_printf_innodb_monitor(): Removed extraneous rewind() call.
The caller of this function calls rewind() if necessary.
In this way, we avoid rewind()ing stderr in
srv_lock_timeout_and_monitor_thread().
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