suggested in review by Heikki.
innobase/include/data0type.h:
Improve comment of dtype_struct.
innobase/include/data0type.ic:
Rename innobase_get_mb_cset() to innobase_get_cset_width().
dtype_get_fixed_size(): Add an extra integrity check for
type->prtype, type->mbminlen and type->mbmaxlen.
sql/ha_innodb.cc:
Rename innobase_get_mb_cset() to innobase_get_cset_width()
Fix memory corruption bug reported by Georg Richter: if one created a table whose primary key contained at least 2 column prefixes, that could corrupt the memory heap of prebuilt_t
innobase/row/row0mysql.c:
Fix memory corruption bug reported by Georg Richter: if one created a table whose primary key contained at least 2 column prefixes, that could corrupt the memory heap of prebuilt_t
innobase/data/data0type.c:
Add mbminlen and mbmaxlen to dtype_t
innobase/include/data0type.h:
Add mbminlen and mbmaxlen to dtype_t
Add dtype_get_mbminlen() and dtype_get_mbmaxlen()
innobase/include/data0type.ic:
Add dtype_set_mblen()
Add dtype_get_mbminlen() and dtype_get_mbmaxlen()
Replace innobase_is_mb_cset() with innobase_get_mb_cset()
innobase/include/row0mysql.h:
Add mbminlen and mbmaxlen
innobase/include/row0mysql.ic:
Detect UCS2 collations based on mbminlen
innobase/row/row0sel.c:
Detect UCS2 collations based on mbminlen
sql/ha_innodb.cc:
Replace innobase_is_mb_cset() with innobase_get_mb_cset()
build_template(): Initialize templ->mbminlen and templ->mbmaxlen
by adding #ifndef UNIV_HOTBACKUP and adjusting some function
declarations.
innobase/data/data0type.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/dict/dict0dict.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/dict/dict0load.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/include/data0type.ic:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/include/srv0srv.h:
Introduce srv_init(), so that it can be called in InnoDB Hot Backup
innobase/include/srv0start.h:
Introduce srv_add_path_separator_if_needed(), so that it can be
invoked in InnoDB Hot Backup
innobase/include/sync0sync.h:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/include/sync0sync.ic:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/include/trx0trx.h:
trx_recover_for_mysql(): replace uint with ulint, as uint is not
declared in InnoDB Hot Backup
innobase/lock/lock0lock.c:
Replace bool with ibool
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/row/row0ins.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/row/row0mysql.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/srv/srv0srv.c:
Make srv_init() global, so that InnoDB Hot Backup can call it.
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/srv/srv0start.c:
Make srv_add_path_separator_if_needed() global for InnoDB Hot Backup.
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/sync/sync0rw.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/sync/sync0sync.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/trx/trx0roll.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
innobase/trx/trx0trx.c:
Replace uint with ulint, as uint is undeclared in InnoDB Hot Backup
innobase/ut/ut0ut.c:
Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
into mysql.com:/home/my/mysql-5.0
BitKeeper/etc/logging_ok:
auto-union
configure.in:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/examples/ha_archive.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
innobase/row/row0ins.c:
If the SQL-query will update or replace duplicate key row we take X-lcok
for duplicate row.
sql/ha_innodb.cc:
INSERT ON DUPLICATE KEY UPDATE will also update duplicate key and we can
take X-lock in this case for duplicate key records.
BitKeeper/etc/ignore:
Added innobase/row/row0index.c to the ignore list
(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 ' '
innobase/row/row0mysql.c:
row_truncate_for_mysql(): Always lock the data dictionary.
row_truncate_for_mysql(): Improve comments and diagnostic messages.
sql/ha_innodb.cc:
delete_all_rows(): Replace innobase_commit_low()
with innobase_commit(). (partial fix to Bug #8151)
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
innobase/include/rem0rec.ic:
Improve formatting of comments
innobase/include/trx0trx.h:
dict_operation: document the effect of setting the flag
innobase/row/row0mysql.c:
Do not set the dict_operation flag. (Bug #8144)
Allow MySQL to have open handles to the table being truncated.
sql/ha_innodb.cc:
store_lock(): Do not weaken TL_WRITE locks taken by TRUNCATE TABLE.
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 includes for the _stat() call to compile on Windows in Hot Backup build
innobase/os/os0file.c:
Add includes for the _stat() call to compile on Windows in Hot Backup build
Add a note to the error message that is printed when memory allocation fails: 32-bit computers usually have at most 2 GB or 4 GB process memory space
innobase/ut/ut0mem.c:
Add a note to the error message that is printed when memory allocation fails: 32-bit computers usually have at most 2 GB or 4 GB process memory space
Archive fix by Ingo.
Innodb compile fix by Monty.
configure.in:
Auto merged
innobase/include/univ.i:
Auto merged
BUILD/SETUP.sh:
Auto merged
mysql-test/t/archive.test:
Auto merged
sql/examples/ha_archive.cc:
Auto merged
sql/examples/ha_archive.h:
Auto merged
sql/handler.cc:
Auto merged
sql/sql_select.cc:
Auto merged
innobase/fil/fil0fil.c:
Merged Montys fix.
(After review of cs georg:1.1800 by Monty)
VC++Files/libmysqld/libmysqld.dsp:
removed ha_isammrg.cpp (doesn't exist anymore)
VC++Files/mysqldemb/mysqldemb.dsp:
removed ha_isammrg.cpp (doesn't exist anymore)
extra/comp_err.c:
renamed DATADIR to DATADIRECTORY (DATADIR is a windows internal
enumeration type)
innobase/ut/ut0ut.c:
gettimeofday is not available under Windows. Added conditional define
which uses GetLocalTime for windows
libmysql/libmysql.c:
fixed prototype for setup_one_fetch_function which differed from
function declaration.
Fixed not supported unsigned __int64 to double conversion
sql/field.h:
fixed typecast error (windows)
sql/item_sum.cc:
fixed typecast errors (windows)
sql/key.cc:
fixed typecast errors (windows)
sql/opt_range.cc:
fixed not supported unsigned __int64 to double conversion
sql/sql_acl.cc:
fixed typecast errors (windows)
sql/table.cc:
fixed typecast errors (windows)
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
Corrected formatting of comments.
rem0rec.ic:
rec_set_info_and_status_bits(): pass arguments to rec_set_info_bits()
in the correct order.
Corrected formatting of comments.
innobase/include/rem0rec.ic:
rec_set_info_and_status_bits(): pass arguments to rec_set_info_bits()
in the correct order.
Corrected formatting of comments.
innobase/include/rem0rec.h:
Corrected formatting of comments.
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
It is not safe to infer the status bits from the B-tree page
level, because after MLOG_COMP_LIST_END_COPY_CREATED, the
level will not be initialized before the records have been inserted.
(Bug #7973)
innobase/btr/btr0cur.c:
Add parameter "offsets" to page_cur_insert_rec_low()
innobase/include/page0cur.h:
page_cur_rec_insert(), page_cur_insert_rec_low(): Add param "offsets"
innobase/include/page0cur.ic:
page_cur_rec_insert(), page_cur_insert_rec_low(): Add param "offsets"
innobase/include/rem0rec.h:
Add rec_get_info_and_status_bits() and rec_set_info_and_status_bits()
innobase/include/rem0rec.ic:
Add rec_get_info_and_status_bits() and rec_set_info_and_status_bits()
innobase/page/page0cur.c:
page_cur_insert_rec_write_log(), page_cur_parse_insert_rec():
write the status bits of the record to the log (Bug #7973)
page_cur_insert_rec_low(): add parameter "offsets"
page_copy_rec_list_end_to_created_page(): remove unnecessary call
to mem_heap_create()
innobase/page/page0page.c:
page_copy_rec_list_end_no_locks(), page_copy_rec_list_start():
compute offsets and pass them to page_cur_rec_insert()
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()
Remove superfluous fprintf about log record application in InnoDB startup
innobase/log/log0recv.c:
Remove superfluous fprintf about log record application in InnoDB startup
Fix a compilation error reported by Paul Dubois; I forgot to compile 5.0 after the merge
os0thread.c:
test
innobase/os/os0thread.c:
test
innobase/dict/dict0load.c:
Fix a compilation error reported by Paul Dubois; I forgot to compile 5.0 after the merge
into hundin.mysql.fi:/home/heikki/mysql-5.0
innobase/dict/dict0crea.c:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/dict/dict0load.c:
Auto merged
innobase/fil/fil0fil.c:
Auto merged
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
BitKeeper/etc/ignore:
auto-union
Build-tools/Do-compile:
Auto merged
configure.in:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/os/os0file.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/ctype_latin1_de.result:
Auto merged
mysql-test/r/ctype_tis620.result:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/ctype_ujis.result:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/r/ps_1general.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/type_float.result.es:
Auto merged
mysql-test/r/type_float.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/ps_1general.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
ndb/src/kernel/vm/Configuration.cpp:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/field.cc:
Auto merged
sql/filesort.cc:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
strings/ctype-big5.c:
Auto merged
strings/ctype-bin.c:
Auto merged
strings/ctype-czech.c:
Auto merged
strings/ctype-gbk.c:
Auto merged
strings/ctype-latin1.c:
Auto merged
strings/ctype-mb.c:
Auto merged
strings/ctype-simple.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-utf8.c:
Auto merged
strings/ctype-win1250ch.c:
Auto merged
sql/sql_show.cc:
No changes
strings/ctype-cp932.c:
No changes
support-files/mysql.spec.sh:
No changes
BitKeeper/etc/ignore:
auto-union
Build-tools/Do-compile:
Auto merged
client/mysqladmin.cc:
Auto merged
heap/hp_create.c:
Auto merged
heap/hp_write.c:
Auto merged
include/my_sys.h:
Auto merged
innobase/data/data0type.c:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/rem/rem0cmp.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
mysql-test/r/ctype_latin1_de.result:
Auto merged
mysql-test/r/ctype_tis620.result:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/ctype_ujis.result:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/r/func_sapdb.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/type_float.result.es:
Auto merged
mysql-test/r/type_float.result:
Auto merged
mysql-test/r/type_timestamp.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/func_sapdb.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/type_timestamp.test:
Auto merged
mysys/mf_iocache.c:
Auto merged
ndb/src/kernel/vm/Configuration.cpp:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/field.cc:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
strings/ctype-big5.c:
Auto merged
strings/ctype-bin.c:
Auto merged
strings/ctype-czech.c:
Auto merged
strings/ctype-gbk.c:
Auto merged
strings/ctype-latin1.c:
Auto merged
strings/ctype-mb.c:
Auto merged
strings/ctype-simple.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-utf8.c:
Auto merged
strings/ctype-win1250ch.c:
Auto merged
configure.in:
Use local values
mysql-test/r/ps_1general.result:
Update results
mysql-test/t/func_gconcat.test:
no changes
mysql-test/t/ps_1general.test:
Use local code
ndb/src/common/util/version.c:
Use local code
sql/filesort.cc:
Empty line changes
sql/ha_heap.cc:
Merge
sql/item_timefunc.cc:
Keep local code
sql/mysql_priv.h:
Update to 5.0
sql/sql_show.cc:
Hand merge
support-files/mysql.spec.sh:
No changes