summaryrefslogtreecommitdiff
path: root/innobase
Commit message (Collapse)AuthorAgeFilesLines
* Fixed a bug: deadlock without any locking, simple select and update (Bug #7975).unknown2005-04-181-18/+23
| | | | | | | | | | | | Backported from 5.0.3. innobase/row/row0ins.c: If the SQL-query will update or replace duplicate records we take X-lock for duplicate records. sql/ha_innodb.cc: INSERT ON DUPLICATE KEY UPDATE will also update duplicate records and we should take X-lock in this case for duplicate records.
* fil0fil.c:unknown2005-04-141-19/+51
| | | | | | | | Add fault tolerance in the scan of .ibd files at a crash recovery; formerly a single failure of readdir_get_next caused the rest of the directory to be skipped innobase/fil/fil0fil.c: Add fault tolerance in the scan of .ibd files at a crash recovery; formerly a single failure of readdir_get_next caused the rest of the directory to be skipped
* fil0fil.c:unknown2005-04-131-1/+2
| | | | | | | | At the shutdown, write the latest lsn only to the first pages of the ibdata files of the system tablespace, NOT to the .ibd files; writing to tens of thousands .ibd files can take minutes innobase/fil/fil0fil.c: At the shutdown, write the latest lsn only to the first pages of the ibdata files of the system tablespace, NOT to the .ibd files; writing to tens of thousands .ibd files can take minutes
* row0sel.c:unknown2005-04-131-12/+12
| | | | | | | | Do not test the value of err if the lock operation was skipped because innodb_logs_unsafe_for_binlog was TRUE; though this did not cause any bugs visible to the user, because err is inited to DB_SUCCESS at the start of the function row_search_for_mysql() innobase/row/row0sel.c: Do not test the value of err if the lock operation was skipped because innodb_logs_unsafe_for_binlog was TRUE; though this did not cause any bugs visible to the user, because err is inited to DB_SUCCESS at the start of the function row_search_for_mysql()
* InnoDB: Ignore character set mismatch in ALTER TABLE and RENAME TABLEunknown2005-04-125-18/+30
| | | | | | | | | | | | | | | | | | | | | | | if foreign_key_checks=0. (Bug #9802) innobase/dict/dict0dict.c: dict_foreign_add_to_cache(): Add flag check_types. If the flag is FALSE, ignore character set mismatch. innobase/dict/dict0load.c: dict_load_foreign(), dict_load_foreigns(): Add flag check_types. If the flag is FALSE, differences in character sets will be ignored. innobase/include/dict0dict.h: dict_foreign_add_to_cache(): Add flag check_types. If the flag is FALSE, differences in character sets will be ignored. innobase/include/dict0load.h: dict_load_foreigns(): Add flag check_types. If the flag is FALSE, differences in character sets will be ignored. innobase/row/row0mysql.c: row_table_add_foreign_constraints(), row_rename_table_for_mysql(): Pass trx->check_foreigns to dict_load_foreigns() sql/ha_innodb.cc: ha_innobase::rename_table(): Clear trx->check_foreign if necessary.
* InnoDB: Avoid test suite failures caused by a locking conflictunknown2005-04-063-4/+30
| | | | | | | | | | | | | | | | | | | | | between two server instances at server shutdown/startup. This conflict on advisory locks appears to be the result of a bug in the operating system; these locks should be released when the files are closed, but somehow that does not always happen immediately in Linux. (Bug #9381) innobase/include/os0file.h: Add OS_FILE_OPEN_RETRY for os_file_create()ing ibdata1 innobase/os/os0file.c: os_file_lock(): Do not close the file on failure, but let the callers do that. os_file_create(): If create_mode==OS_FILE_OPEN_RETRY and os_file_lock() fails, keep retrying for 100 seconds. innobase/srv/srv0start.c: open_or_create_data_files(): Open the first data file with OS_FILE_OPEN_RETRY, to resolve a conflict with a shutting-down instance of the MySQL server.
* row0sel.c, btr0pcur.c, btr0pcur.ic, btr0pcur.h:unknown2005-04-064-1/+27
| | | | | | | | | | | | | | Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context innobase/include/btr0pcur.h: Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context innobase/include/btr0pcur.ic: Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context innobase/btr/btr0pcur.c: Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context innobase/row/row0sel.c: Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context
* dict0dict.c:unknown2005-04-051-0/+3
| | | | | | | | Add a note that ENUM in new tables cannot reference ENUM in old tables, in FOREIGN KEY constraints innobase/dict/dict0dict.c: Add a note that ENUM in new tables cannot reference ENUM in old tables, in FOREIGN KEY constraints
* trx0trx.c:unknown2005-03-211-1/+9
| | | | | | | | If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277) innobase/trx/trx0trx.c: If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277)
* Mergeunknown2005-03-211-0/+6
|\ | | | | | | | | | | | | | | | | BitKeeper/etc/logging_ok: auto-union innobase/include/trx0trx.h: Auto merged innobase/trx/trx0trx.c: SCCS merged
| * trx0trx.c, trx0trx.h:unknown2005-03-212-1/+15
| | | | | | | | | | | | | | | | | | | | If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277) innobase/include/trx0trx.h: If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277) innobase/trx/trx0trx.c: If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277)
* | Merge hundin.mysql.fi:/home/marko/k/mysql-4.0unknown2005-03-151-1/+8
|\ \ | |/ | | | | | | | | | | | | into hundin.mysql.fi:/home/marko/mysql-4.1 innobase/dict/dict0load.c: SCCS merged
| * dict0load.c:unknown2005-03-141-1/+8
| | | | | | | | | | | | | | | | | | | | dict_load_table(): Refuse to open ROW_FORMAT=COMPACT tables of MySQL 5.0.3 and later. innobase/dict/dict0load.c: dict_load_table(): Refuse to open ROW_FORMAT=COMPACT tables of MySQL 5.0.3 and later.
* | buf0flu.c:unknown2005-03-151-1/+9
| | | | | | | | | | | | | | | | Add diagnostics to track why ut_a(block->state == BUF_BLOCK_FILE_PAGE) failed in buf_flush_ready_for_replace() for a user innobase/buf/buf0flu.c: Add diagnostics to track why ut_a(block->state == BUF_BLOCK_FILE_PAGE) failed in buf_flush_ready_for_replace() for a user
* | log0recv.c:unknown2005-03-091-1/+3
| | | | | | | | | | | | | | | | | | Better ibbackup message Add a message explaining why we do a 'crash recovery' after an ibbackup restore; suggested by Tim Smith innobase/log/log0recv.c: Better ibbackup message
* | dict0load.c:unknown2005-03-081-17/+0
| | | | | | | | | | | | | | | | | | | | dict_load_table(): Do not complain about mix_len != 0, because MySQL 3.23.4x left garbage in that column. innobase/dict/dict0load.c: dict_load_table(): Do not complain about mix_len != 0, because MySQL 3.23.4x left garbage in that column.
* | After merge fixesunknown2005-03-081-17/+1
|\ \ | |/ | | | | | | | | innobase/dict/dict0load.c: dict_load_table(): Display diagnostic output if mix_len differs from 0.
| * dict0load.c:unknown2005-03-081-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | dict_load_table(): Remove the check for row_format=compact for now, because the flag bit we used (high-order bit of mix_len) has not been zero for at least two customers. innobase/dict/dict0load.c: dict_load_table(): Remove the check for row_format=compact for now, because the flag bit we used (high-order bit of mix_len) has not been zero for at least two customers.
* | Merge hundin.mysql.fi:/home/marko/k/mysql-4.0unknown2005-03-082-1/+2
|\ \ | |/ | | | | | | | | | | | | | | | | into hundin.mysql.fi:/home/marko/mysql-4.1 innobase/include/srv0srv.h: Auto merged innobase/srv/srv0srv.c: Auto merged
| * InnoDB: Win64 portability fix: add missing declaration andunknown2005-03-082-1/+2
| | | | | | | | | | | | | | | | | | | | | | correct the definition of srv_max_buf_pool_modified_pct. innobase/include/srv0srv.h: Declare srv_max_buf_pool_modified_pct innobase/srv/srv0srv.c: Define srv_max_buf_pool_modified_pct as ulong, as it is declared in ha_innodb.h.
* | Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2005-03-0716-46/+51
|\ \ | | | | | | | | | | | | | | | | | | into hundin.mysql.fi:/home/marko/mysql-4.1
| * | InnoDB: Portability fixes for warnings reported on IA-64 Windowsunknown2005-03-0716-46/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/buf/buf0lru.c: Portability fix: Use %p for printing pointers innobase/dict/dict0dict.c: Properly cast the arguments of toupper() innobase/eval/eval0proc.c: Declare loop_var_value with a matching data type. innobase/include/mem0mem.ic: Remove implicit type conversion innobase/include/page0page.ic: Portability fix: Use %p for printing pointers innobase/include/pars0pars.h: Remove implicit type conversion innobase/include/pars0sym.h: Remove implicit type conversion innobase/mem/mem0dbg.c: Portability fix: Use %p for printing pointers innobase/os/os0file.c: Add DWORD casts for Windows innobase/os/os0sync.c: Add DWORD casts for Windows innobase/os/os0thread.c: Add DWORD casts for Windows innobase/rem/rem0cmp.c: Make implicit type conversions explicit innobase/row/row0mysql.c: Make implicit type conversions explicit innobase/row/row0sel.c: Portability fix: Use %p for printing pointers innobase/trx/trx0sys.c: Declare trx_sys_mysql_bin_log_pos_high and trx_sys_mysql_bin_log_pos_low with a matching data type innobase/ut/ut0ut.c: Make implicit type conversion explicit
* | | trx0trx.c:unknown2005-03-071-0/+2
|/ / | | | | | | | | | | | | | | Print a hex dump of the trx_t object if trx->n_mysql_tables_in_use != 0 at trx_free() innobase/trx/trx0trx.c: Print a hex dump of the trx_t object if trx->n_mysql_tables_in_use != 0 at trx_free()
* | ut0mem.c:unknown2005-03-041-8/+28
| | | | | | | | | | | | | | | | If InnoDB cannot allocate memory, keep retrying for 60 seconds before we crash mysqld; maybe the memory shortage is just temporary innobase/ut/ut0mem.c: If InnoDB cannot allocate memory, keep retrying for 60 seconds before we crash mysqld; maybe the memory shortage is just temporary
* | trx0trx.c:unknown2005-03-041-3/+14
| | | | | | | | | | | | | | | | Do not assert, but print diagnostics if MySQL tries to free a trx where n_mysql_tables_in_use > 0 innobase/trx/trx0trx.c: Do not assert, but print diagnostics if MySQL tries to free a trx where n_mysql_tables_in_use > 0
* | Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2005-03-041-2/+3
|\ \ | | | | | | | | | | | | | | | | | | into hundin.mysql.fi:/home/marko/mysql-4.1
| * | row0sel.c:unknown2005-03-011-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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)
* | | srv0start.c:unknown2005-03-031-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Mergeunknown2005-03-031-9/+0
|\ \ \ | | |/ | |/| | | | | | | | | | | | | innobase/os/os0file.c: Auto merged innobase/srv/srv0start.c: SCCS merged
| * | srv0start.c:unknown2005-03-032-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge hundin.mysql.fi:/home/heikki/mysql-4.0unknown2005-03-031-0/+9
|\ \ \ | |/ / | | / | |/ |/| | | | | | | into hundin.mysql.fi:/home/heikki/mysql-4.1 innobase/os/os0file.c: Auto merged
| * os0file.c:unknown2005-03-031-0/+9
| | | | | | | | | | | | | | | | 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.
* | After merge fixesunknown2005-03-012-8/+5
|\ \ | |/
| * InnoDB: Fix compilation errors on IA-64 Windowsunknown2005-03-012-4/+4
| | | | | | | | | | | | | | | | | | 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.
* | Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2005-02-281-1/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/my/mysql-4.1 BitKeeper/etc/ignore: added support-files/ndb-config-2-node.ini
| * | Fixed wrong memory references found by purifyunknown2005-02-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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)
* | | fil0fil.c:unknown2005-02-251-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | row0sel.c:unknown2005-02-221-2/+7
|/ / | | | | | | | | | | | | | | 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.
* | Merge hundin.mysql.fi:/home/heikki/mysql-4.0unknown2005-02-131-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | into hundin.mysql.fi:/home/heikki/mysql-4.1 innobase/row/row0mysql.c: Auto merged sql/sql_cache.cc: Auto merged
| * row0mysql.c:unknown2005-02-131-1/+1
| | | | | | | | | | | | | | | | Backport the column prefix memory corruption fix from 5.0 innobase/row/row0mysql.c: Backport the column prefix memory corruption fix from 5.0
| * eval0eval.ic:unknown2005-02-021-2/+0
| | | | | | | | | | | | | | | | Remove wrong assertion that fails on 64 bits innobase/include/eval0eval.ic: Remove wrong assertion that fails on 64 bits
| * rem0rec.ic:unknown2005-02-021-14/+14
| | | | | | | | | | | | | | | | 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
| * mem0pool.c:unknown2005-01-311-2/+2
| | | | | | | | | | | | | | | | 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
| * InnoDB: Backport innodb_autoextend_increment from 4.1unknown2005-01-252-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | innobase/include/srv0srv.h: Add configuration variable srv_auto_extend_increment innobase/srv/srv0srv.c: Add configuration variable srv_auto_extend_increment sql/ha_innodb.h: Add configuration variable srv_auto_extend_increment sql/mysqld.cc: Add startup option innodb_autoextend_increment sql/set_var.cc: Add settable global variable innodb_autoextend_increment
* | Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2005-02-021-4/+0
|\ \ | | | | | | | | | | | | | | | | | | into mysql.com:/home/my/mysql-4.1
| * | Proper fix for comparision with ' 'unknown2005-02-011-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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 ' '
* | | ut0ut.c:unknown2005-01-281-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | os0file.c:unknown2005-01-281-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | fil0fil.c:unknown2005-01-272-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge heikki@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2005-01-271-1/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | into hundin.mysql.fi:/home/heikki/mysql-4.1 sql/mysqld.cc: Auto merged