Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
innobase/srv/srv0srv.c:
Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
innobase/include/srv0srv.h:
Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
innobase/os/os0file.c:
Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
innobase/fil/fil0fil.c:
Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
Add assertions to check that we do not go out of bounds of io thread status array
os0file.c:
Fix memory corruption (assertion failure on line 244 of sync0sync.c) reported by Miguel in a Windows build of MySQL-4.1.2. The bug is present in all InnoDB versions in Windows, but it depends on how the linker places a static array in srv0srv.c, whether the bug shows itself. 4 bytes were overwritten with a pointer to a statically allocated string: 'get windows aio return value'.
innobase/os/os0file.c:
Fix memory corruption (assertion failure on line 244 of sync0sync.c) reported by Miguel in a Windows build of MySQL-4.1.2. The bug is present in all InnoDB versions in Windows, but it depends on how the linker places a static array in srv0srv.c, whether the bug shows itself. 4 bytes were overwritten with a pointer to a statically allocated string: 'get windows aio return value'.
innobase/fil/fil0fil.c:
Add assertions to check that we do not go out of bounds of io thread status array
innobase/ha/ha0ha.c:
Remove unused first parameter of ha_chain_get_next()
innobase/include/ha0ha.ic:
Remove unused first parameter of ha_chain_get_next()
Remove unused function ha_next()
innobase/data/data0data.c:
Remove unused global variables
innobase/dict/dict0dict.c:
Remove unused code
innobase/dict/dict0mem.c:
Remove unnecessary function dict_mem_procedure_create()
innobase/include/dict0dict.h:
Remove unused code related to stored procedures
innobase/include/dict0dict.ic:
Remove unnecessary function dict_procedure_get()
innobase/include/dict0mem.h:
Remove unnecessary code related to stored procedures
innobase/include/dict0types.h:
Remove dict_proc_t, as procedures are not stored into database
innobase/include/pars0pars.h:
Remove call_node_struct and references to dict_proc_t,
as procedures are not stored into database or called by name
innobase/include/pars0sym.h:
Remove procedure_def, as procedures are not stored into database
innobase/include/pars0types.h:
Remove call_node_t, as procedures are not called by name
Backport from 4.1: make mem_current_allocated_memory global variable
innobase/mem/mem0dbg.c:
Backport from 4.1: make mem_current_allocated_memory global variable
Actually, assembler is used onnly on 32-bit x86 Win, and no need to exclude Netware specifically
innobase/sync/sync0sync.c:
Actually, assembler is used onnly on 32-bit x86 Win, and no need to exclude Netware specifically
Correct previous bk commit comment about page splits: actually, in versions < 4.0.19 space utilization is very poor if 1500 - 8000 byte rows are inserted in the order of the primary key
innobase/btr/btr0btr.c:
Correct previous bk commit comment about page splits: actually, in versions < 4.0.19 space utilization is very poor if 1500 - 8000 byte rows are inserted in the order of the primary key
Improve space utilization if we have 3 kB - 8 kB rows to insert in the order of the primary key
btr0cur.c:
Fix bug: The row count and key cardinality estimate was grossly too small if each clustered index page only contained one record
innobase/btr/btr0cur.c:
Fix bug: The row count and key cardinality estimate was grossly too small if each clustered index page only contained one record
innobase/btr/btr0btr.c:
Improve space utilization if we have 3 kB - 8 kB rows to insert in the order of the primary key
Removed \r from new tests
Fixes to get new sustem_mysql_db... tests to work
client/mysqltest.c:
More debug information
innobase/que/que0que.c:
Fixed wrong usage of __attribute
mysql-test/mysql-test-run.sh:
Portability fix; Added CLIENT_BINDIR
mysql-test/t/system_mysql_db_fix.test:
Removed \r
mysql-test/t/system_mysql_db_refs.test:
Removed \r
scripts/mysql_fix_privilege_tables.sh:
Don't set root password from first option
Added --bindir option
innobase/btr/btr0btr.c:
Replace ut_a(0) with ut_error
innobase/buf/buf0flu.c:
Replace ut_a(0) with ut_error
innobase/buf/buf0lru.c:
Replace ut_a(0) with ut_error
innobase/data/data0data.c:
Replace ut_a(0) with ut_error
innobase/dict/dict0crea.c:
Replace ut_a(0) with ut_error
innobase/dict/dict0dict.c:
Replace ut_a(0) with ut_error
innobase/dict/dict0load.c:
Replace ut_a(0) with ut_error
innobase/fil/fil0fil.c:
Replace ut_a(0) with ut_error
innobase/fsp/fsp0fsp.c:
Replace ut_a(0) with ut_error
innobase/ibuf/ibuf0ibuf.c:
Replace ut_a(0) with ut_error
innobase/include/buf0buf.ic:
Replace ut_a(0) with ut_error
innobase/include/data0type.ic:
Replace ut_a(0) with ut_error
innobase/include/mtr0log.ic:
Replace ut_a(0) with ut_error
innobase/include/trx0rseg.ic:
Replace ut_a(0) with ut_error
innobase/lock/lock0lock.c:
Replace ut_a(0) with ut_error
innobase/log/log0log.c:
Replace ut_a(0) with ut_error
innobase/log/log0recv.c:
Replace ut_a(0) with ut_error
innobase/mem/mem0pool.c:
Replace ut_a(0) with ut_error
innobase/mtr/mtr0log.c:
Replace ut_a(0) with ut_error
innobase/os/os0file.c:
Replace ut_a(0) with ut_error
innobase/page/page0cur.c:
Replace ut_a(0) with ut_error
innobase/page/page0page.c:
Replace ut_a(0) with ut_error
innobase/pars/lexyy.c:
Replace ut_a(0) with ut_error
innobase/que/que0que.c:
Replace ut_a(0) with ut_error
innobase/rem/rem0cmp.c:
Replace ut_a(0) with ut_error
innobase/rem/rem0rec.c:
Replace ut_a(0) with ut_error
innobase/row/row0ins.c:
Replace ut_a(0) with ut_error
innobase/row/row0mysql.c:
Replace ut_a(0) with ut_error
innobase/row/row0purge.c:
Replace ut_a(0) with ut_error
innobase/row/row0row.c:
Replace ut_a(0) with ut_error
innobase/row/row0sel.c:
Replace ut_a(0) with ut_error
innobase/row/row0undo.c:
Replace ut_a(0) with ut_error
innobase/srv/srv0srv.c:
Replace ut_a(0) with ut_error
innobase/sync/sync0arr.c:
Replace ut_a(0) with ut_error
innobase/trx/trx0purge.c:
Replace ut_a(0) with ut_error
innobase/trx/trx0trx.c:
Replace ut_a(0) with ut_error
innobase/trx/trx0undo.c:
Replace ut_a(0) with ut_error
innobase/include/mach0data.h:
Remove mach_write() and mach_read()
innobase/include/mach0data.ic:
Remove mach_write() and mach_read()
innobase/mem/mem0dbg.c:
Replace mach_write() with mach_write_to_4()
Replace mach_read() with mach_read_from_4()
innobase/include/data0data.h:
dtuple_struct:magic_n: Enclose in #ifdef UNIV_DEBUG
innobase/dict/dict0dict.c:
Use magic_n only #ifdef UNIV_DEBUG
innobase/dict/dict0mem.c:
Use magic_n only #ifdef UNIV_DEBUG
innobase/ha/hash0hash.c:
Remove unused functions hash_mutex_enter_all and hash_mutex_exit_all
Use magic_n only #ifdef UNIV_DEBUG
Add ut_ad(table->magic_n == HASH_TABLE_MAGIC_N)
innobase/include/dict0mem.h:
Use magic_n only #ifdef UNIV_DEBUG
innobase/include/hash0hash.h:
Remove unused functions hash_mutex_enter_all and hash_mutex_exit_all
Use magic_n only #ifdef UNIV_DEBUG
innobase/include/hash0hash.ic:
Add ut_ad(table->magic_n == HASH_TABLE_MAGIC_N)
innobase/include/mtr0mtr.h:
Use state, magic_n only #ifdef UNIV_DEBUG
innobase/include/row0ins.h:
Use magic_n only #ifdef UNIV_DEBUG
innobase/include/row0upd.h:
Use magic_n only #ifdef UNIV_DEBUG
innobase/row/row0ins.c:
Use magic_n only #ifdef UNIV_DEBUG
Add ut_ad(node->magic_n == INS_NODE_MAGIC_N)
innobase/row/row0upd.c:
Use magic_n only #ifdef UNIV_DEBUG
Add ut_ad(node->magic_n == UPD_NODE_MAGIC_N)
innobase/thr/thr0loc.c:
Use magic_n only #ifdef UNIV_DEBUG
BitKeeper/deleted/.del-ib_odbc.h~6882a6fe66f9b3e:
Delete: innobase/include/ib_odbc.h
BitKeeper/deleted/.del-odbc0odbc.h~6cdf5ecedbf3b3f0:
Delete: innobase/include/odbc0odbc.h
innobase/include/Makefile.am:
Remove odbc0odbc.h and ib_odbc.h
innobase/srv/srv0srv.c:
Remove reference to odbc0odbc.h
innobase/include/pars0pars.h:
Remove unused functions related to ODBC and stored procedures
Made pars_print_lexed conditional [UNIV_SQL_DEBUG]
innobase/pars/pars0pars.c:
Remove unused functions related to ODBC and stored procedures
Made pars_print_lexed conditional [UNIV_SQL_DEBUG]
Output to stderr instead of stdout
BitKeeper/deleted/.del-Makefile.am~2b013aa835a140c4:
Delete: innobase/com/Makefile.am
BitKeeper/deleted/.del-com0com.c~473a1f0f440ce91b:
Delete: innobase/com/com0com.c
BitKeeper/deleted/.del-com0shm.c~6a16f0c3d81de1f:
Delete: innobase/com/com0shm.c
BitKeeper/deleted/.del-makefilewin~3e26f0df100887f2:
Delete: innobase/com/makefilewin
BitKeeper/deleted/.del-com0com.h~533a7eaa16ec585a:
Delete: innobase/include/com0com.h
BitKeeper/deleted/.del-com0com.ic~671e309916e285b:
Delete: innobase/include/com0com.ic
BitKeeper/deleted/.del-com0shm.h~5f3df7c04221b0fe:
Delete: innobase/include/com0shm.h
BitKeeper/deleted/.del-com0shm.ic~f827cfca1603fa6b:
Delete: innobase/include/com0shm.ic
innobase/configure.in:
Remove com/Makefile
innobase/include/Makefile.am:
Remove com*.h
innobase/include/usr0sess.h:
Remove unused communication functions
innobase/include/usr0sess.ic:
Remove unused communication functions
innobase/include/usr0types.h:
Remove sess_sys_t and sess_sig_t
innobase/usr/usr0sess.c:
Remove unused functions
innobase/dict/dict0crea.c:
Remove unneeded params of que_fork_start_command()
innobase/include/que0que.h:
Remove unneeded params of que_fork_start_command()
innobase/row/row0mysql.c:
Remove unneeded params of que_fork_start_command()
innobase/include/srv0srv.h:
Remove references to the com module
innobase/srv/srv0srv.c:
Remove references to the com module
Remove unused vars srv_n_{com,worker}_threads
Make some global vars static
innobase/que/que0que.c:
Remove references to odbc
Add #ifdef UNIV_SYNC_DEBUG around some ut_ad()
Remove unneeded params of que_fork_start_command()
Remove unreachable code
Output diagnostics to stderr, not stdout
innobase/include/trx0trx.h:
Remove unneeded params of trx_sig_send() and trx_sig_reply()
innobase/trx/trx0trx.c:
Remove unneeded params of trx_sig_send() and trx_sig_reply()
Remove params of sess_open()
innobase/srv/srv0start.c:
Remove reference to com0com.h
Remove call to sess_sys_init_at_db_start()
innobase/trx/trx0purge.c:
Remove references to the com module
Remove params of sess_open()
Remove unneeded params of que_fork_start_command()
innobase/trx/trx0roll.c:
Remove params of sess_open()
Remove unneeded params of que_fork_start_command()
Remove unneeded params of trx_sig_send() and trx_sig_reply()
Print always the count of pending pread() and pwrite() calls if there is a long semaphore wait
innobase/include/os0file.h:
Print always the count of pending pread() and pwrite() calls if there is a long semaphore wait
innobase/sync/sync0arr.c:
Print always the count of pending pread() and pwrite() calls if there is a long semaphore wait
Add typecasts to ulong because ulint is __int64 in Win 64-bits
Better error message to the .err log if we have to crash the server because the buffer pool is exhausted by the lock table or the adaptive hash index
innobase/buf/buf0lru.c:
Add typecasts to ulong because ulint is __int64 in Win 64-bits
Protect the reading of the latest foreign key error explantion buffer with a mutex; in theory, a race condition could cause SHOW INNODB STATUS print garbage characters after the error info; remove the sprintf of the latest UNIQUE KEY error, since the buffer really was always empty
innobase/srv/srv0srv.c:
Protect the reading of the latest foreign key error explantion buffer with a mutex; in theory, a race condition could cause SHOW INNODB STATUS print garbage characters after the error info; remove the sprintf of the latest UNIQUE KEY error, since the buffer really was always empty
Fix bug: in a FOREIGN KEY, ON UPDATE CASCADE was not triggered if the update changed a string to another value identical in alphabetical ordering, e.g., abc -> aBc
innobase/row/row0upd.c:
Fix bug: in a FOREIGN KEY, ON UPDATE CASCADE was not triggered if the update changed a string to another value identical in alphabetical ordering, e.g., abc -> aBc
If there is an assertion failur refer the user to section 6.1 of the InnoDB online manual about forcing recovery
innobase/include/ut0dbg.h:
If there is an assertion failur refer the user to section 6.1 of the InnoDB online manual about forcing recovery
Remove leading whitespace from lines containing preprocessor directives
Makefile.am:
Remove univold.i and univoldmysql.i
innobase/include/Makefile.am:
Remove univold.i and univoldmysql.i
innobase/buf/buf0buf.c:
Remove leading whitespace from lines containing preprocessor directives
innobase/include/mem0mem.ic:
Remove leading whitespace from lines containing preprocessor directives
innobase/include/sync0rw.ic:
Remove leading whitespace from lines containing preprocessor directives
innobase/include/sync0sync.ic:
Remove leading whitespace from lines containing preprocessor directives
innobase/include/ut0rnd.ic:
Remove leading whitespace from lines containing preprocessor directives
innobase/mem/mem0dbg.c:
Remove leading whitespace from lines containing preprocessor directives
innobase/mem/mem0mem.c:
Remove leading whitespace from lines containing preprocessor directives
innobase/sync/sync0rw.c:
Remove leading whitespace from lines containing preprocessor directives
innobase/sync/sync0sync.c:
Remove leading whitespace from lines containing preprocessor directives
Allow always DROPping of a table which is only referenced by FOREIGN KEY constraints from the same table
Many files:
Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
sql/ha_innodb.cc:
Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
sql/sql_insert.cc:
Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
sql/ha_innodb.h:
Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
sql/handler.h:
Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
innobase/dict/dict0dict.c:
Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
innobase/include/dict0dict.h:
Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
innobase/row/row0mysql.c:
Allow always DROPping of a table which is only referenced by FOREIGN KEY constraints from the same table
Fix crash in InnoDB RENAME TABLE if 'databasename/tablename' is shorter than 5 characters (Bug #2689); reported by Sergey Petrunia
innobase/row/row0mysql.c:
Fix crash in InnoDB RENAME TABLE if 'databasename/tablename' is shorter than 5 characters (Bug #2689); reported by Sergey Petrunia
Fix bug #2167: generate foreign key id's locally for each table, in the form databasename/tablename_ibfk_number; if the user gives the constraint name explicitly remember it; these changes should ensure that foreign key id's in a slave are the same as in the master, and DROP FOREIGN KEY does not break replication
sync0sync.c:
UNIV_SYNC_DEBUG caused assertion in the creation of the doublewrite buffer, if we do not allow thousands of latches per thread
innobase/dict/dict0crea.c:
Fix bug #2167: generate foreign key id's locally for each table, in the form databasename/tablename_ibfk_number; if the user gives the constraint name explicitly remember it; these changes should ensure that foreign key id's in a slave are the same as in the master, and DROP FOREIGN KEY does not break replication
innobase/dict/dict0dict.c:
Fix bug #2167: generate foreign key id's locally for each table, in the form databasename/tablename_ibfk_number; if the user gives the constraint name explicitly remember it; these changes should ensure that foreign key id's in a slave are the same as in the master, and DROP FOREIGN KEY does not break replication
innobase/include/dict0crea.h:
Fix bug #2167: generate foreign key id's locally for each table, in the form databasename/tablename_ibfk_number; if the user gives the constraint name explicitly remember it; these changes should ensure that foreign key id's in a slave are the same as in the master, and DROP FOREIGN KEY does not break replication
innobase/include/dict0dict.h:
Fix bug #2167: generate foreign key id's locally for each table, in the form databasename/tablename_ibfk_number; if the user gives the constraint name explicitly remember it; these changes should ensure that foreign key id's in a slave are the same as in the master, and DROP FOREIGN KEY does not break replication
innobase/include/ut0mem.h:
Fix bug #2167: generate foreign key id's locally for each table, in the form databasename/tablename_ibfk_number; if the user gives the constraint name explicitly remember it; these changes should ensure that foreign key id's in a slave are the same as in the master, and DROP FOREIGN KEY does not break replication
innobase/row/row0mysql.c:
Fix bug #2167: generate foreign key id's locally for each table, in the form databasename/tablename_ibfk_number; if the user gives the constraint name explicitly remember it; these changes should ensure that foreign key id's in a slave are the same as in the master, and DROP FOREIGN KEY does not break replication
innobase/sync/sync0sync.c:
UNIV_SYNC_DEBUG caused assertion in the creation of the doublewrite buffer, if we do not allow thousands of latches per thread
innobase/ut/ut0mem.c:
Fix bug #2167: generate foreign key id's locally for each table, in the form databasename/tablename_ibfk_number; if the user gives the constraint name explicitly remember it; these changes should ensure that foreign key id's in a slave are the same as in the master, and DROP FOREIGN KEY does not break replication
DROP DATABASE now assumes RAID directories are in hex. (Bug #2627)
Don't increment 'select_full_range' and similar statistics for EXPLAIN queries. (Bug #2506)
Test in configure if pthread_key_delete() exists (to fix compile problem on SCO) (Bug #2461)
BUILD/compile-pentium-max:
Added --with-raid
configure.in:
Added testing of pthread_key_delete (to fix compile problem on SCO) (Bug #2461)
include/my_pthread.h:
Added testing of pthread_key_delete (to fix compile problem on SCO) (Bug #2461)
innobase/include/data0data.ic:
Added missing newline
mysql-test/r/raid.result:
Test of DROP DATABASE with RAID directories in hex
mysql-test/t/raid.test:
Test of DROP DATABASE with RAID directories in hex
sql/sql_db.cc:
DROP DATABASE could not drop databases with RAID tables that had
more than 9 RAID_CHUNKS because DROP DATABASE assumed raid tables where in decimal while the RAID CREATE code assumed directories was in hex.(Bug #2627)
sql/sql_select.cc:
Don't increment 'select_full_range' and similar statistics for EXPLAIN queries. (Bug #2506)
sql/sql_udf.cc:
mysqld crashed if mysql.func table didn't exists (Bug #2577)