Increase max number of waiting threads to 10000 and put diagnostic prints if this value is exceeded
innobase/srv/srv0srv.c:
Increase max number of waiting threads to 10000 and put diagnostic prints if this value is exceeded
innobase/include/os0thread.h:
Increase max number of waiting threads to 10000 and put diagnostic prints if this value is exceeded
Remove freeing of all memory at shutdown: since we do not exit the i/o-handlers and other threads, we could potentially get a seg fault at shutdown
innobase/srv/srv0start.c:
Remove freeing of all memory at shutdown: since we do not exit the i/o-handlers and other threads, we could potentially get a seg fault at shutdown
The UNIV_DEBUG version asserted if a foreign key check failed because of a lock wait timeout
btr0cur.c:
Fix a bug: if the primary key was updated (or delete + insert) so that only the case of characters changed, we were left with a dangling adaptive hash index pointer, often causing an assertion failure in page0page.ic line 515
innobase/btr/btr0cur.c:
Fix a bug: if the primary key was updated (or delete + insert) so that only the case of characters changed, we were left with a dangling adaptive hash index pointer, often causing an assertion failure in page0page.ic line 515
innobase/row/row0ins.c:
The UNIV_DEBUG version asserted if a foreign key check failed because of a lock wait timeout
Fix a bug: if buffer pool size > 2 GB on a 32-bit computer, we got an assertion failure because >> acted as a division operator (not as a register shift) for a wrapped-over integer value
innobase/include/buf0buf.ic:
Fix a bug: if buffer pool size > 2 GB on a 32-bit computer, we got an assertion failure because >> acted as a division operator (not as a register shift) for a wrapped-over integer value
Crash the server if file flush does not succeed: the database can get corrupt, better to crash it than let it run
innobase/os/os0file.c:
Crash the server if file flush does not succeed: the database can get corrupt, better to crash it than let it run
Initing a mutex with MY_MUTEX_INIT_FAST may relieve thread thrashing on Linux
innobase/os/os0sync.c:
Initing a mutex with MY_MUTEX_INIT_FAST may relieve thread thrashing on Linux
Play safe and set a MySQL 1 - 12 byte BLOB reference to zero except for the length and pointer areas in it
innobase/row/row0mysql.c:
Play safe and set a MySQL 1 - 12 byte BLOB reference to zero except for the length and pointer areas in it
Monty said an SQL NULL BLOB field must have NULL as the data pointer value
innobase/row/row0sel.c:
Monty said an SQL NULL BLOB field must have NULL as the data pointer value
Add some diagnostic code to track BLOB bugs if they were not already fixed with the change in row0sel.c
row0sel.c:
Fix a seg fault which was caused inside MySQL because InnoDB when returning a BLOB value did not initialize the length and the data pointer of a BLOB whose value is the SQL NULL; also fix a very improbable race condition which could occur if a row with an externally stored BLOB was fetched using the adaptive hash index
innobase/row/row0sel.c:
Fix a seg fault which was caused inside MySQL because InnoDB when returning a BLOB value did not initialize the length and the data pointer of a BLOB whose value is the SQL NULL; also fix a very improbable race condition which could occur if a row with an externally stored BLOB was fetched using the adaptive hash index
innobase/row/row0mysql.c:
Add some diagnostic code to track BLOB bugs if they were not already fixed with the change in row0sel.c
Fix an assertion failure in row0ins.c line 511 in case of a cascading delete caused by circularly referencing rows, when foreign keys are used
innobase/row/row0ins.c:
Fix an assertion failure in row0ins.c line 511 in case of a cascading delete caused by circularly referencing rows, when foreign keys are used
Make possible switch off X86 assembler usage in Windows: needed for the Itanium port
innobase/include/univ.i:
Make possible switch off X86 assembler usage in Windows: needed for the Itanium port
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/btr/btr0cur.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/dict/dict0crea.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/dict/dict0dict.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/dict/dict0load.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/dict/dict0mem.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/include/btr0btr.h:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/include/dict0mem.h:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/include/ibuf0ibuf.h:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/include/os0file.h:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/include/os0sync.h:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/include/row0mysql.h:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/include/row0upd.h:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/include/sync0sync.h:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/include/trx0sys.h:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/include/trx0trx.h:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/include/ibuf0ibuf.ic:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/include/os0sync.ic:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/include/sync0sync.ic:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/include/trx0sys.ic:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/lock/lock0lock.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/pars/pars0opt.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/que/que0que.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/row/row0ins.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/row/row0mysql.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/row/row0sel.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/row/row0upd.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/srv/srv0srv.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/sync/sync0sync.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/trx/trx0sys.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
innobase/trx/trx0trx.c:
Implement ON DELETE CASCADE and facilitate switching off of UNIQUE constraints and foreign keys
Forgot to merge these to 3.23.50
innobase/include/sync0rw.ic:
Forgot to merge these to 3.23.50
innobase/include/ut0byte.ic:
Forgot to merge these to 3.23.50
If the string foreign was succeeded by a non-space character, that confused the foreign key syntax parser
innobase/dict/dict0dict.c:
If the string foreign was succeeded by a non-space character, that confused the foreign key syntax parser
Add a warning to drop database wait if there are still open handles on a table
innobase/row/row0mysql.c:
Add a warning to drop database wait if there are still open handles on a table
Add some more safety if MySQL tries to drop a table on which there are open handles
sql/ha_innobase.cc:
Add some more safety if MySQL tries to drop a table on which there are open handles
innobase/row/row0mysql.c:
Add some more safety if MySQL tries to drop a table on which there are open handles
innobase/dict/dict0dict.c:
Add some more safety if MySQL tries to drop a table on which there are open handles
innobase/include/dict0dict.h:
Add some more safety if MySQL tries to drop a table on which there are open handles
Try to make sure DROP DATABASE does not cause a deadlock because we now let InnoDB wait MySQL does not have open handles to tables we drop
sql/sql_db.cc:
Try to make sure DROP DATABASE does not cause a deadlock because we now let InnoDB wait MySQL does not have open handles to tables we drop
innobase/row/row0mysql.c:
Try to make sure DROP DATABASE does not cause a deadlock because we now let InnoDB wait MySQL does not have open handles to tables we drop
If the default character set was set to non-latin1 then the collation order of DATA_CHAR and DATA_VARCHAR was not defined, and foreign key system tables did not work, because they contain DATA_VARCHAR columns
innobase/srv/srv0srv.c:
If the default character set was set to non-latin1 then the collation order of DATA_CHAR and DATA_VARCHAR was not defined, and foreign key system tables did not work, because they contain DATA_VARCHAR columns
Add some error messages to help in tracking Harald Fuchs' foreign key failure
innobase/dict/dict0crea.c:
Add some error messages to help in tracking Harald Fuchs' foreign key failure
Prevent a foreign key constraint references between INT columns where the signedness is different
innobase/rem/rem0cmp.c:
Prevent a foreign key constraint references between INT columns where the signedness is different
Small improvements
row0mysql.c:
Small improvements + fix the ALTER TABLE problem by introducing a lazy drop table it can use
ha_innobase.cc:
Some fine-tuning of optimization
sql/ha_innobase.cc:
Some fine-tuning of optimization
innobase/include/log0recv.h:
Small improvements
innobase/include/mem0mem.h:
Small improvements
innobase/include/mem0pool.h:
Small improvements
innobase/include/row0mysql.h:
Small improvements
innobase/include/srv0srv.h:
Small improvements
innobase/include/trx0trx.h:
Small improvements
innobase/buf/buf0lru.c:
Small improvements
innobase/fil/fil0fil.c:
Small improvements
innobase/log/log0recv.c:
Small improvements
innobase/mem/mem0mem.c:
Small improvements
innobase/mem/mem0pool.c:
Small improvements
innobase/row/row0mysql.c:
Small improvements + fix the ALTER TABLE problem by introducing a lazy drop table it can use
innobase/srv/srv0srv.c:
Small improvements
innobase/srv/srv0start.c:
Small improvements
innobase/trx/trx0purge.c:
Small improvements
innobase/trx/trx0trx.c:
Small improvements
Fine-tune optimization parameters; in small tables the estimates are accurate; in big tables let us not be too optimistic about index selectivity
sql/ha_innobase.cc:
Fine-tune optimization parameters; in small tables the estimates are accurate; in big tables let us not be too optimistic about index selectivity
innobase/btr/btr0cur.c:
Fine-tune optimization parameters; in small tables the estimates are accurate; in big tables let us not be too optimistic about index selectivity
Remove erroneous warning of a duplicate key when the key in a UNIQUE secondary index contains a NULL
innobase/row/row0mysql.c:
Remove erroneous warning of a duplicate key when the key in a UNIQUE secondary index contains a NULL
Make os_file_flush to ignore the error we get from a raw device in fsync
innobase/os/os0file.c:
Make os_file_flush to ignore the error we get from a raw device in fsync
Print progress info of the applying log records to the database phase in recovery
srv0srv.c:
Do buffer pool flush and checkpoints more often to make recovery faster
innobase/srv/srv0srv.c:
Do buffer pool flush and checkpoints more often to make recovery faster
innobase/log/log0recv.c:
Print progress info of the applying log records to the database phase in recovery
Allow foreign keys refer between fixed and var length strings
innobase/rem/rem0cmp.c:
Allow foreign keys refer between fixed and var length strings
innobase/include/data0type.ic:
Allow foreign keys refer between fixed and var length strings
Allow equal key values in a unique secondary index if the key value contains an SQL NULL
innobase/row/row0ins.c:
Allow equal key values in a unique secondary index if the key value contains an SQL NULL
Add warnings to recovery in some cases where log file might be corrupt and consequently recovery can be trusted less than normally
innobase/log/log0recv.c:
Add warnings to recovery in some cases where log file might be corrupt and consequently recovery can be trusted less than normally
Do less statistics calculations for tables
dict0mem.h, row0mysql.c:
Make calculation of new statistics less frequent, because the statistics in 3.23.44 involves many random disk reads
innobase/include/dict0mem.h:
Do less statistics calculations for tables
innobase/row/row0mysql.c:
Do less statistics calculations for tables
innobase/dict/dict0dict.c:
Do less statistics calculations for tables
innobase/dict/dict0mem.c:
Do less statistics calculations for tables
Add diagnostic code to find out why foreign key constraint creation sometimes fails
innobase/dict/dict0crea.c:
Add diagnostic code to find out why foreign key constraint creation sometimes fails