Commit graph

1210 commits

Author SHA1 Message Date
unknown
98dc4142b2 InnoDB: Some low-level optimizations made based on OProfile results.
innobase/dict/dict0mem.c:
  dict_mem_table_create(): Add a debug assertion.
innobase/include/btr0btr.ic:
  btr_node_ptr_get_child_page_no(): Add a UNIV_UNLIKELY hint.
  Remove a buf_frame_align() call.
innobase/include/btr0cur.ic:
  btr_cur_get_page(): Add a debug assertion.
innobase/include/buf0buf.ic:
  buf_block_peek_if_too_old(): Replace if() with return().
  buf_block_align(), buf_frame_align(): Add UNIV_UNLIKELY hints.
innobase/include/data0type.ic:
  dtype_get_fixed_size(): Add UNIV_UNLIKELY hints.
innobase/include/mem0mem.ic:
  Remove signedness warning in debug assertion.
innobase/include/read0read.ic:
  read_view_sees_trx_id(): Eliminate a comparison inside loop.
innobase/include/row0sel.ic:
  open_step(): Add UNIV_EXPECT hint.
innobase/include/row0upd.ic:
  upd_field_set_field_no(): Add a UNIV_UNLIKELY hint.
innobase/include/sync0rw.ic:
  Add UNIV_LIKELY and UNIV_UNLIKELY hints.
  rw_lock_x_lock_func_nowait(): Eliminate a function call.
  Replace ut_a() assertions with ut_ad().
innobase/include/trx0rseg.ic:
  Add UNIV_UNLIKELY hints.
innobase/include/ut0rnd.ic:
  ut_fold_binary(): Eliminate a loop variable
  to avoid register spilling on x86.
2005-04-22 14:04:18 +03:00
unknown
f2c13c3f4f dict0dict.c:
Add some UNIV_LIKELY and UNIV_UNLIKELY hints.
  dict_tree_copy_rec_order_prefix(): Add a UNIV_PREFETCH_R hint on rec.


innobase/dict/dict0dict.c:
  Add some UNIV_LIKELY and UNIV_UNLIKELY hints.
  dict_tree_copy_rec_order_prefix(): Add a UNIV_PREFETCH_R hint on rec.
2005-04-22 13:43:49 +03:00
unknown
c546b5f3b5 InnoDB: Make branch prediction assume that assertions do not fail.
innobase/include/ut0dbg.h:
  Remove ut_dbg_zero.
  Use the UNIV_UNLIKELY() macro in assertions in order to assist branch
  prediction.
innobase/ut/ut0dbg.c:
  Remove ut_dbg_zero.
2005-04-21 15:27:18 +03:00
unknown
fea290807c InnoDB: Speed up comparison functions by making
DATA_MYSQL_LATIN1_SWEDISH_CHARSET_COLL a constant.


innobase/data/data0type.c:
  Remove data_mysql_latin1_swedish_charset_coll.
innobase/include/data0type.h:
  Replace variable data_mysql_latin1_swedish_charset_coll
  with constant DATA_MYSQL_LATIN1_SWEDISH_CHARSET_COLL.
innobase/rem/rem0cmp.c:
  Replace variable data_mysql_latin1_swedish_charset_coll
  with constant DATA_MYSQL_LATIN1_SWEDISH_CHARSET_COLL.
sql/ha_innodb.cc:
  Eliminate variable data_mysql_latin1_swedish_charset_coll.
  Add an assertion about DATA_MYSQL_LATIN1_SWEDISH_CHARSET_COLL.
2005-04-21 15:09:10 +03:00
unknown
7b07e3329a InnoDB: Reduce memcpy() load in row_sel_pop_cached_row_for_mysql()
by copying only a prefix of the row that covers the requested
columns.


innobase/include/row0mysql.h:
  row_prebuilt_struct: Add field mysql_prefix_len
  in order to reduce memcpy() time in
  row_sel_pop_cached_row_for_mysql().
innobase/row/row0sel.c:
  row_sel_pop_cached_row_for_mysql(): memcpy() only
  mysql_prefix_len bytes instead of mysql_row_len.
sql/ha_innodb.cc:
  build_template(): Initialize prebuilt->mysql_prefix_len.
2005-04-21 15:02:54 +03:00
unknown
4e0e9a3bae InnoDB: Define some macros around GCC's __builtin_expect()
and __builtin_prefetch().
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.


innobase/btr/btr0btr.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/btr/btr0cur.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/btr/btr0sea.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/include/univ.i:
  Define UNIV_EXPECT(), UNIV_LIKELY(), UNIV_UNLIKELY(),
  UNIV_LIKELY_NULL(), UNIV_PREFETCH_R() and UNIV_PREFETCH_RW().
innobase/lock/lock0lock.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/page/page0cur.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/page/page0page.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/rem/rem0rec.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0ins.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0mysql.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0purge.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0row.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0sel.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0undo.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/row/row0upd.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
innobase/trx/trx0rec.c:
  Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
2005-04-21 14:23:26 +03:00
unknown
ea5c2a148a InnoDB: Make CHECK TABLE killable. (Bug #9730)
innobase/btr/btr0btr.c:
  Enclose btr_print_size() and btr_print_tree() in #ifdef UNIV_BTR_PRINT
  Add trx_t* parameter to btr_validate_tree() and btr_validate_level().
  btr_validate_level(): Call trx_is_interrupted() on each page.
innobase/ibuf/ibuf0ibuf.c:
  Add trx_t* parameter to btr_validate_tree().
innobase/include/btr0btr.h:
  Enclose btr_print_size() and btr_print_tree() in #ifdef UNIV_BTR_PRINT
  Add trx_t* parameter to btr_validate_tree().
innobase/include/trx0trx.h:
  Declare trx_is_interrupted().
innobase/row/row0mysql.c:
  row_scan_and_check_index(): Check trx_is_interrupted() every 1,000
  scanned rows.
  row_check_table_for_mysql(): Check trx_is_interrupted()
  for each index after btr_validate_tree().
sql/ha_innodb.cc:
  Define trx_is_interrupted().
2005-04-20 17:39:05 +03:00
unknown
eb72815b6f InnoDB: Truncate SHOW INNODB STATUS output at the start of the list
of active transactions, if necessary and possible.  (Bug #5436)


innobase/include/lock0lock.h:
  Split lock_print_info() into lock_print_info_summary()
  and lock_print_info_all_transactions().
innobase/lock/lock0lock.c:
  Split lock_print_info() into lock_print_info_summary()
  and lock_print_info_all_transactions().
innobase/include/srv0srv.h:
  srv_printf_innodb_monitor(): Add output parameters trx_start and trx_end.
innobase/srv/srv0srv.c:
  srv_printf_innodb_monitor(): Add output parameters trx_start and trx_end.
sql/ha_innodb.cc:
  innodb_show_status(): Truncate oversized output at the beginning
  of the list of active transactions, if possible.
2005-04-19 14:35:47 +03:00
unknown
dfa485b47d InnoDB: Replace the redo log entry type
MLOG_COMP_REC_SEC_DELETE_MARK with MLOG_REC_SEC_DELETE_MARK
in order to reduce the space occupied by the redo log.


innobase/btr/btr0cur.c:
  Replace MLOG_COMP_REC_SEC_DELETE_MARK with MLOG_REC_SEC_DELETE_MARK
  and eliminate redundant dict_index_t* parameters.
innobase/ibuf/ibuf0ibuf.c:
  Remove unnecessary parameter to btr_cur_del_unmark_for_ibuf()
innobase/include/btr0cur.h:
  Remove unnecessary dict_index_t* parameters
innobase/include/mtr0mtr.h:
  Note that MLOG_COMP_REC_SEC_DELETE_MARK is obsolete
innobase/log/log0recv.c:
  recv_parse_or_apply_log_rec_body():
  Ignore the index information in MLOG_COMP_REC_SEC_DELETE_MARK.
  Add assertions about page_is_comp().
2005-04-18 15:12:30 +03:00
unknown
56ea770272 Fixed a bug: deadlock without any locking, simple select and update (Bug #7975).
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.
2005-04-18 12:17:32 +03:00
unknown
43b1125cb9 Adding --innodb_fast_shutdown=2 which shuts down InnoDB faster than the default "1":
most InnoDB threads are not terminated properly and the buffer pool is not flushed
to disk. Still no committed transaction is lost as we flush the logs to disk.
InnoDB does crash recovery at startup after this shutdown.
Using this shutdown in testsuite (mysql-test-run --mysqld=--innodb_fast_shutdown=2) saved 3 minutes (13% of total time).


innobase/include/srv0srv.h:
  srv_fast_shutdown now int to allow 3 values, replacing the srv_fast_shutdown/srv_very_fast_shutdown combo
innobase/log/log0log.c:
  srv_very_fast_shutdown -> (srv_fast_shutdown == 2)
innobase/srv/srv0srv.c:
  srv_very_fast_shutdown -> (srv_fast_shutdown == 2)
innobase/srv/srv0start.c:
  moving message to the InnoDB internal code (like "InnoDB: Starting shutdown" is)
  instead of ha_innodb.cc. That's to have ut_print_timestamp().
sql/ha_innodb.cc:
  As innodb_fast_shutdown is now settable, srv_fast_shutdown must be
  set at shutdown, not at startup.
sql/ha_innodb.h:
  innobase_fast_shutdown now ulong to accept 3 values
sql/mysqld.cc:
  Making the "very fast" InnoDB shutdown accessible to users, by passing
  --innodb-fast-shutdown=2 (disabled on Netware)
sql/set_var.cc:
  innodb_fast_shutdown now settable on the fly (global variable).
  So that user can decide to do a normal/fast/fastest shutdown
  just before doing it.
2005-04-15 18:00:38 +02:00
unknown
88e8c2a03b Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0


innobase/fil/fil0fil.c:
  Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Auto merged
ndb/src/ndbapi/ndberror.c:
  Auto merged
2005-04-14 22:33:17 +03:00
unknown
ce22ebd02d 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


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
2005-04-14 22:27:15 +03:00
unknown
9c2446f339 Merge from 4.1
innobase/fil/fil0fil.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
mysql-test/Makefile.am:
  Auto merged
mysql-test/t/ctype_ucs_binlog.test:
  Auto merged
2005-04-13 10:38:11 -07:00
unknown
9983cb598f Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/local/home/marty/MySQL/mysql-5.0
2005-04-13 18:00:14 +02:00
unknown
f0438d5487 Merge
innobase/dict/dict0dict.c:
  Auto merged
innobase/dict/dict0load.c:
  Auto merged
innobase/include/dict0dict.h:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_dynrec.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
mysql-test/r/kill.result:
  Auto merged
mysql-test/t/kill.test:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
ndb/src/kernel/main.cpp:
  Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
2005-04-13 16:24:17 +02:00
unknown
3fbb9c39a7 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


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
2005-04-13 17:22:04 +03:00
unknown
67d88e8151 row0sel.c:
Fix the patch of Jan to optimize next-key locking in searches of type 'primary key >= some value'


innobase/row/row0sel.c:
  Fix the patch of Jan to optimize next-key locking in searches of type 'primary key >= some value'
2005-04-13 16:49:28 +03:00
unknown
880d0295d6 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()


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()
2005-04-13 15:49:28 +03:00
unknown
a7de27958c Fixed a bug where next-key locking doesn't allow the insert which does
not produce phantom (bug #9354).
2005-04-13 12:07:16 +03:00
unknown
dec90f5b36 InnoDB: Ignore character set mismatch in ALTER TABLE and RENAME TABLE
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.
2005-04-12 16:12:34 +03:00
unknown
3960c84f12 manually merged
Gluh's SESSION/GLOBAL for @variables fix in sql_yacc.yy and
Bar's well_formed_len() changes in ndb code
did not make it and should be re-applied manually


BitKeeper/etc/logging_ok:
  auto-union
include/m_ctype.h:
  Auto merged
innobase/btr/btr0pcur.c:
  Auto merged
innobase/include/btr0pcur.h:
  Auto merged
innobase/include/os0file.h:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
mysql-test/r/user_var.result:
  Auto merged
mysql-test/t/user_var.test:
  Auto merged
ndb/include/ndbapi/NdbTransaction.hpp:
  Auto merged
ndb/src/ndbapi/NdbTransaction.cpp:
  Auto merged
ndb/tools/desc.cpp:
  Auto merged
strings/ctype-big5.c:
  Auto merged
strings/ctype-mb.c:
  Auto merged
strings/ctype-simple.c:
  Auto merged
strings/ctype-sjis.c:
  Auto merged
strings/ctype-ucs2.c:
  Auto merged
strings/ctype-ujis.c:
  Auto merged
BitKeeper/deleted/.del-NdbResultSet.cpp~84d192cf3f42600d:
  ul
ndb/include/ndbapi/NdbScanOperation.hpp:
  ul
ndb/src/ndbapi/NdbIndexOperation.cpp:
  ul
ndb/src/ndbapi/NdbOperationDefine.cpp:
  ul
ndb/src/ndbapi/NdbOperationSearch.cpp:
  ul
ndb/src/ndbapi/NdbScanOperation.cpp:
  ul
sql/field.cc:
  manually merged, because bk messed it up
sql/sql_yacc.yy:
  merged
2005-04-06 21:19:20 +02:00
unknown
bf67f4c7da Merge mysql.com:/M41/upward-4.1 into mysql.com:/M50/merge-5.0
BitKeeper/deleted/.del-create.c~96cecc433c0c2242:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~f96b7055cac394e:
  Auto merged
configure.in:
  Auto merged
BitKeeper/deleted/.del-mrg_create.c~b747c8ec2b801f6:
  Auto merged
include/my_global.h:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
myisam/mi_create.c:
  Auto merged
scripts/mysql_create_system_tables.sh:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_udf.cc:
  Auto merged
sql/table.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
2005-04-06 14:15:45 +02:00
unknown
cde615c9cb InnoDB: Avoid test suite failures caused by a locking conflict
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.
2005-04-06 15:09:15 +03:00
unknown
97b26d3b93 row0sel.c, btr0pcur.c, btr0pcur.ic, 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.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
2005-04-06 10:27:40 +03:00
unknown
e2e40c7688 InnoDB: Disable an assertion that fails on old data due to Bug #9526
innobase/row/row0sel.c:
  Disable an assertion that fails for old UTF-8 ENUM columns (Bug #9526)
2005-04-05 15:13:14 +03:00
unknown
fee508a430 dict0dict.c:
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
2005-04-05 11:35:03 +03:00
unknown
1b93271393 ha_innodb.cc, row0sel.c:
Fix Bug #9526 in 5.0: MySQL ENUM and SET columns are internally actually unsigned integer types; we must take care that old tables still treat ENUM and SET (incorrectly) as a character string, while new created tables treat it correctly as an unsigned integer


innobase/row/row0sel.c:
  Fix Bug #9526 in 5.0: MySQL ENUM and SET columns are internally actually unsigned integer types; we must take care that old tables still treat ENUM and SET (incorrectly) as a character string, while new created tables treat it correctly as an unsigned integer
sql/ha_innodb.cc:
  Fix Bug #9526 in 5.0: MySQL ENUM and SET columns are internally actually unsigned integer types; we must take care that old tables still treat ENUM and SET (incorrectly) as a character string, while new created tables treat it correctly as an unsigned integer
2005-04-04 20:31:04 +03:00
unknown
e31642727b Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0


innobase/include/trx0trx.h:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
2005-03-22 16:11:43 +01:00
unknown
87110734d3 Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0


BitKeeper/etc/logging_ok:
  auto-union
include/config-netware.h:
  Auto merged
innobase/include/trx0trx.h:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
2005-03-21 22:29:02 +02:00
unknown
6d0d2c7e1d 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)


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)
2005-03-21 22:21:55 +02:00
unknown
421907e932 Merge
BitKeeper/etc/logging_ok:
  auto-union
innobase/include/trx0trx.h:
  Auto merged
innobase/trx/trx0trx.c:
  SCCS merged
2005-03-21 22:14:00 +02:00
unknown
7656b6da71 trx0trx.c, 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/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)
2005-03-21 22:10:42 +02:00
unknown
4fd832bf91 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0


libmysql/libmysql.c:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-03-18 20:12:31 +01:00
unknown
cfec2e4ada data0type.h:
The missing DATA_BINARY_TYPE in BLOBs created with < 4.0.14 does not cause any harm, because there were no indexes on such BLOBs


innobase/include/data0type.h:
  The missing DATA_BINARY_TYPE in BLOBs created with < 4.0.14 does not cause any harm, because there were no indexes on such BLOBs
2005-03-18 19:16:11 +02:00
unknown
809291fb92 data0type.ic:
Change the sorting order of TEXT columns in InnoDB: pad with spaces at the end in comparisons; we MUST UPDATE the MySQL MANUAL to warn about the need to rebuild tables (also MyISAM) in certain cases in an upgrade to 5.0.3; TODO: study what complications the missing DATA_BINARY_TYPE flag in InnoDB < 4.0.14 causes: we would compare then also BLOBs with space padding, not just TEXT


innobase/include/data0type.ic:
  Change the sorting order of TEXT columns in InnoDB: pad with spaces at the end in comparisons; we MUST UPDATE the MySQL MANUAL to warn about the need to rebuild tables (also MyISAM) in certain cases in an upgrade to 5.0.3; TODO: study what complications the missing DATA_BINARY_TYPE flag in InnoDB < 4.0.14 causes: we would compare then also BLOBs with space padding, not just TEXT
2005-03-18 19:09:22 +02:00
unknown
83bd17bbf3 data0type.ic:
Revert the change to the space padding of BLOB and TEXT in comparisons; we cannot change the sorting order, because that would make old tables to appear corrupt; better to change LIKE 'a%' processing in MySQL, so that the lower end of the search interval would be 'a', not 'a       '


innobase/include/data0type.ic:
  Revert the change to the space padding of BLOB and TEXT in comparisons; we cannot change the sorting order, because that would make old tables to appear corrupt; better to change LIKE 'a%' processing in MySQL, so that the lower end of the search interval would be 'a', not 'a       '
2005-03-17 18:17:38 +02:00
unknown
31ab90c805 data0type.ic:
Fix that 'a' LIKE 'a%' was not true for an InnoDB BLOB or TEXT type column prefix index search: InnoDB assumed that the BLOB and TEXT should not be padded with space in comparisons; this bug is also in 4.1; it may have worked in 4.1 because MySQL may have asked there for strings >= 'a', while in 5.0 it asks for strings >= 'a        '


innobase/include/data0type.ic:
  Fix that 'a' LIKE 'a%' was not true for an InnoDB BLOB or TEXT type column prefix index search: InnoDB assumed that the BLOB and TEXT should not be padded with space in comparisons; this bug is also in 4.1; it may have worked in 4.1 because MySQL may have asked there for strings >= 'a', while in 5.0 it asks for strings >= 'a        '
2005-03-17 17:44:27 +02:00
unknown
2b466294e3 Automerge
sql/sql_parse.cc:
  Auto merged
sql/handler.cc:
  SCCS merged
sql/mysql_priv.h:
  SCCS merged
2005-03-17 10:06:49 +01:00
unknown
1f91905231 merged
sql/ha_innodb.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-03-16 17:13:43 +01:00
unknown
0c0b3ea9b9 data0data.c:
Allow also long VARCHARs to be stored externally, not just BLOBs; fixes a bug reported by Trudy Pelzer; needs more testing


innobase/data/data0data.c:
  Allow also long VARCHARs to be stored externally, not just BLOBs; fixes a bug reported by Trudy Pelzer; needs more testing
2005-03-16 18:05:08 +02:00
unknown
f21905e066 data0type.h, row0sel.c:
Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
ha_innodb.cc:
  Fix a crash in true VARCHARs in test-innodb: we passed a wrong pointer to the column conversion in an UPDATE
rowid_order_innodb.result, ps_3innodb.result, innodb.result, endspace.result:
  Edit InnoDB test results to reflect the arrival of true VARCHARs


mysql-test/r/endspace.result:
  Edit InnoDB test results to reflect the arrival of true VARCHARs
mysql-test/r/innodb.result:
  Edit InnoDB test results to reflect the arrival of true VARCHARs
mysql-test/r/ps_3innodb.result:
  Edit InnoDB test results to reflect the arrival of true VARCHARs
mysql-test/r/rowid_order_innodb.result:
  Edit InnoDB test results to reflect the arrival of true VARCHARs
sql/ha_innodb.cc:
  Fix a crash in true VARCHARs in test-innodb: we passed a wrong pointer to the column conversion in an UPDATE
innobase/row/row0sel.c:
  Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
innobase/include/data0type.h:
  Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
2005-03-16 14:28:54 +02:00
unknown
608b63c763 sql/ha_innodb.cc
protect prepare-...-commit with a mutex to ensure that commits in binlog and in the innodb have the same order
    store binlog position with the commit


innobase/include/trx0trx.h:
  comment modified
sql/ha_innodb.cc:
  protect prepare-...-commit with a mutex to ensure that commits in binlog and in the innodb have the same order
  store binlog position with the commit
sql/handler.cc:
  ha_prepare cannot return -1
2005-03-16 12:45:08 +01:00
unknown
b90feaed02 DATA_MYSQL_TRUE_VARCHAR can be DATA_VARCHAR, DATA_BINARY, or
DATA_VARMYSQL so remove unnecessary condition.
2005-03-16 11:26:35 +02:00
unknown
97a281f517 Fixed a core dump bug after VARCHAR push in InnoDB. 2005-03-16 10:35:18 +02:00
unknown
7955fe527d Many files:
InnoDB true VARCHAR


sql/ha_innodb.h:
  InnoDB true VARCHAR
sql/ha_innodb.cc:
  InnoDB true VARCHAR
innobase/include/data0type.h:
  InnoDB true VARCHAR
innobase/include/que0que.h:
  InnoDB true VARCHAR
innobase/include/row0mysql.h:
  InnoDB true VARCHAR
innobase/include/data0type.ic:
  InnoDB true VARCHAR
innobase/include/row0mysql.ic:
  InnoDB true VARCHAR
innobase/row/row0ins.c:
  InnoDB true VARCHAR
innobase/row/row0mysql.c:
  InnoDB true VARCHAR
innobase/row/row0sel.c:
  InnoDB true VARCHAR
innobase/trx/trx0trx.c:
  InnoDB true VARCHAR
2005-03-16 00:34:15 +02:00
unknown
7d63831484 dict0load.c:
dict_load_table(): Remove unused label that was accidentally introduced
  in a 4.0->4.1->5.0 merge.


innobase/dict/dict0load.c:
  dict_load_table(): Remove unused label that was accidentally introduced
  in a 4.0->4.1->5.0 merge.
2005-03-15 11:50:44 +02:00
unknown
50a6be7dd4 After merge fixes
BitKeeper/etc/logging_ok:
  auto-union
innobase/buf/buf0flu.c:
  Manual merge
innobase/dict/dict0load.c:
  Manual merge: do not refuse to open ROW_FORMAT=COMPACT tables
2005-03-15 11:22:20 +02:00
unknown
bcabdc22bf Merge hundin.mysql.fi:/home/marko/k/mysql-4.0
into hundin.mysql.fi:/home/marko/mysql-4.1


innobase/dict/dict0load.c:
  SCCS merged
2005-03-15 11:14:57 +02:00
unknown
f56889321f 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


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
2005-03-15 08:33:47 +02:00
unknown
10852be938 dict0load.c:
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.
2005-03-14 12:43:22 +02:00
unknown
53ffcff7be row0mysql.c:
Correct web links
fil0fil.c:
  Correct (?) English grammar


innobase/fil/fil0fil.c:
  Correct (?) English grammar
innobase/row/row0mysql.c:
  Correct web links
2005-03-13 22:46:57 +02:00
unknown
a569b08375 set_var.cc, mysqld.cc, ha_innodb.cc, sql_class.h:
Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
trx0trx.h, trx0undo.c, trx0trx.c, trx0roll.c:
  Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit


innobase/trx/trx0roll.c:
  Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit
innobase/trx/trx0trx.c:
  Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit
innobase/trx/trx0undo.c:
  Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit
innobase/include/trx0trx.h:
  Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit
sql/sql_class.h:
  Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
sql/ha_innodb.cc:
  Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
sql/mysqld.cc:
  Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
sql/set_var.cc:
  Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
2005-03-13 12:49:39 +02:00
unknown
a44711db14 row0sel.c:
row_sel_store_mysql_rec(): Remove unused variable "index".


innobase/row/row0sel.c:
  row_sel_store_mysql_rec(): Remove unused variable "index".
2005-03-11 17:24:43 +02:00
unknown
db32cb1710 InnoDB: Keep the "compact format" flag in SYS_TABLES.N_COLS
instead of SYS_TABLES.MIX_LEN, because the latter was not
initialized to zero in old MySQL 3.23 releases. This will break
existing MySQL/InnoDB 5.0.3-bk databases for which
SHOW TABLE STATUS displays Row_format=Compact.


innobase/dict/dict0crea.c:
  Write the "compact format" flag to N_COLS instead of MIX_LEN.
  Remove corruption analysis for MIX_LEN, as it has been tracked down
  to MySQL 3.23.4x not initializing MIX_LEN.
innobase/dict/dict0load.c:
  Read the "compact format" flag from N_COLS instead of MIX_LEN.
2005-03-10 16:42:43 +02:00
unknown
380c64b1fc Merge marko@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/marko/mysql-5.0
2005-03-10 15:50:30 +02:00
unknown
5054fdd834 rem0rec.h:
Restore sensible values to REC_OFFS_NORMAL_SIZE and REC_OFFS_SMALL_SIZE.


innobase/include/rem0rec.h:
  Restore sensible values to REC_OFFS_NORMAL_SIZE and REC_OFFS_SMALL_SIZE.
2005-03-10 15:38:09 +02:00
unknown
066e8900d6 InnoDB: Introduce the symbols REC_OFFS_NORMAL_SIZE and
REC_OFFS_SMALL_SIZE for the initial allocation sizes of
arrays passed to rec_get_offsets().


innobase/btr/btr0btr.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/btr/btr0cur.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/btr/btr0sea.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/include/rem0rec.h:
  Define REC_OFFS_NORMAL_SIZE and REC_OFFS_SMALL_SIZE.
innobase/lock/lock0lock.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/page/page0cur.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/page/page0page.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/rem/rem0rec.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0ins.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0mysql.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0purge.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0row.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0sel.c:
  s/100/REC_OFFS_NORMAL_SIZE/
  s/10/REC_OFFS_SMALL_SIZE/
innobase/row/row0undo.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0upd.c:
  s/100/REC_OFFS_NORMAL_SIZE/
  s/10/REC_OFFS_SMALL_SIZE/
innobase/trx/trx0rec.c:
  s/100/REC_OFFS_NORMAL_SIZE/
2005-03-10 15:16:16 +02:00
unknown
2f7e93afab Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0


innobase/log/log0recv.c:
  Auto merged
ndb/include/mgmapi/mgmapi_config_parameters.h:
  Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
2005-03-10 09:07:42 +02:00
unknown
db32810d02 InnoDB: Improve performance by about 10% by removing implicit
memcpy() calls, by not initializing the offsets_[] arrays.
InnoDB: Remove a Microsoft compiler warning in page0page.c.


innobase/btr/btr0btr.c:
  Only initialize the first element of offsets_[]
innobase/btr/btr0cur.c:
  Only initialize the first element of offsets_[]
innobase/btr/btr0sea.c:
  Only initialize the first element of offsets_[]
innobase/lock/lock0lock.c:
  Only initialize the first element of offsets_[]
innobase/page/page0cur.c:
  Only initialize the first element of offsets_[]
innobase/page/page0page.c:
  page_validate(): Silence a warning about unsigned/signed comparison.
  Other places: Only initialize the first element of offsets_[].
innobase/rem/rem0rec.c:
  Only initialize the first element of offsets_[]
innobase/row/row0ins.c:
  Only initialize the first element of offsets_[]
innobase/row/row0mysql.c:
  Only initialize the first element of offsets_[]
innobase/row/row0purge.c:
  Only initialize the first element of offsets_[]
innobase/row/row0row.c:
  Only initialize the first element of offsets_[]
innobase/row/row0sel.c:
  Only initialize the first element of offsets_[]
innobase/row/row0undo.c:
  Only initialize the first element of offsets_[]
innobase/row/row0upd.c:
  Only initialize the first element of offsets_[]
innobase/trx/trx0rec.c:
  Only initialize the first element of offsets_[]
2005-03-09 22:04:55 +02:00
unknown
368731548e log0recv.c:
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
2005-03-09 20:32:01 +02:00
unknown
48577bb59f merged
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
Build-tools/Do-compile:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
include/my_sys.h:
  Auto merged
innobase/buf/buf0lru.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/include/page0page.ic:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/os/os0thread.c:
  Auto merged
innobase/rem/rem0cmp.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/trx/trx0sys.c:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
innobase/ut/ut0ut.c:
  Auto merged
myisam/ft_parser.c:
  Auto merged
myisam/mi_create.c:
  Auto merged
mysql-test/Makefile.am:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/ndb_alter_table.result:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysql-test/t/ndb_alter_table.test:
  Auto merged
mysys/hash.c:
  Auto merged
mysys/my_bitmap.c:
  Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
scripts/make_win_src_distribution.sh:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-03-09 14:09:06 +01:00
unknown
b0e1389b82 This code change has 0 effects as it's about the case where innobase_very_fast_shutdown!=0,
which is always false. In a very fast InnoDB shutdown, we just ensure that
no more transactions are running, flush InnoDB log, signal InnoDB threads to die,
and then return from InnoDB (from innobase_end()) without waiting for those threads
to actually die. I have tested on a 4CPU machine that even with --innodb_flush_log_at_trx_commit=0,
this optimized InnoDB very fast shutdown loses no committed transactions. Patch pre-approved by Heikki.


innobase/log/log0log.c:
  In an InnoDB very fast shutdown, we just need to wait for no more transactions to be happening
  and then we can flush the InnoDB log and don't need to wait for the
  signaled-to-die InnoDB threads to finish (saves seconds).
innobase/srv/srv0start.c:
  In an InnoDB very fast shutdown, once we have forced a flush of the InnoDB
  log to disk, and signalled InnoDB threads to die, we needn't wait
  for these threads to die.
2005-03-09 00:32:58 +01:00
unknown
8ce2071248 dict0load.c:
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.
2005-03-08 20:06:09 +02:00
unknown
ab0e331436 After merge fixes
innobase/dict/dict0load.c:
  dict_load_table():
  Display diagnostic output if mix_len differs from 0.
2005-03-08 17:18:27 +02:00
unknown
976543fe84 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.


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.
2005-03-08 17:08:17 +02:00
unknown
88c893cbbf InnoDB: Win64 portability fixes
innobase/include/srv0srv.h:
  Declare those variables as ulong that are declared in ha_innodb.h
innobase/srv/srv0srv.c:
  Define those variables as ulong that are declared in ha_innodb.h
2005-03-08 16:25:31 +02:00
unknown
b80ec98e28 Merge hundin.mysql.fi:/home/marko/k/mysql-4.0
into hundin.mysql.fi:/home/marko/mysql-4.1


innobase/include/srv0srv.h:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
2005-03-08 16:02:13 +02:00
unknown
c9b0cbf013 InnoDB: Win64 portability fix: add missing declaration and
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.
2005-03-08 11:12:18 +02:00
unknown
45c72a5680 row0sel.c:
row_search_for_mysql(): Add a clarifying comment.


innobase/row/row0sel.c:
  row_search_for_mysql(): Add a clarifying comment.
2005-03-07 16:32:24 +02:00
unknown
9396ef5b2d Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-03-07 15:28:11 +02:00
unknown
309b4721d5 trx0trx.c:
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()
2005-03-07 15:28:10 +02:00
unknown
2a66f66dfb InnoDB: optimize SELECT performance
innobase/include/row0vers.h:
  row_vers_build_for_consistent_read():
  Add parameters offsets and offset_heap
  in order to avoid recomputing the offsets in the caller.
innobase/row/row0sel.c:
  Eliminate some rec_get_offsets() calls.
innobase/row/row0vers.c:
  row_vers_build_for_consistent_read():
  Add parameters offsets and offset_heap
  in order to avoid recomputing the offsets in the caller.
2005-03-07 15:23:06 +02:00
unknown
9c6cc47f74 InnoDB: Portability fixes for warnings reported on IA-64 Windows
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
2005-03-07 12:03:33 +02:00
unknown
724d706cf8 ut0mem.c:
ut_malloc_low(): fix the fprintf() format string
  (an extraneous comma split the format into two arguments)


innobase/ut/ut0mem.c:
  ut_malloc_low(): fix the fprintf() format string
  (an extraneous comma split the format into two arguments)
2005-03-07 09:43:19 +02:00
unknown
e7eac0274b Merge
BitKeeper/etc/logging_ok:
  auto-union
innobase/trx/trx0trx.c:
  Auto merged
mysql-test/r/ctype_collate.result:
  Auto merged
mysql-test/r/func_system.result:
  Auto merged
mysql-test/r/type_blob.result:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/opt_sum.cc:
  Auto merged
innobase/ut/ut0mem.c:
  e
  merge from 4.1
mysql-test/r/func_group.result:
  merge from 4.1
mysql-test/r/func_str.result:
  merge from 4.1
mysql-test/t/func_group.test:
  merge from 4.1
2005-03-05 18:20:35 +04:00
unknown
58002dddc1 ut0mem.c:
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
2005-03-04 18:17:29 +02:00
unknown
6736ce56fb trx0trx.c:
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
2005-03-04 17:58:06 +02:00
unknown
56c517bda1 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-03-04 15:27:07 +02:00
unknown
daaeeedb49 Merged from 4.1
innobase/os/os0file.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
mysql-test/r/bigint.result:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/symlink.result:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysql-test/t/symlink.test:
  Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
ndb/test/ndbapi/testNodeRestart.cpp:
  Auto merged
ndb/test/run-test/daily-devel-tests.txt:
  Auto merged
sql/item.h:
  Auto merged
strings/ctype-win1250ch.c:
  Auto merged
mysql-test/r/grant2.result:
  Hand-merged new test
mysql-test/t/grant2.test:
  Hand-merged new test
ndb/include/ndbapi/NdbTransaction.hpp:
  Used 5.0 version per tomas
sql/sql_acl.cc:
  Merge fix for Bug #3309.
2005-03-03 15:01:46 -08:00
unknown
560968258f srv0start.c:
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
2005-03-03 18:00:34 +02:00
unknown
f3d52f8c8c Merge
innobase/os/os0file.c:
  Auto merged
innobase/srv/srv0start.c:
  SCCS merged
2005-03-03 17:50:04 +02:00
unknown
afc8527360 srv0start.c:
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
2005-03-03 17:46:56 +02:00
unknown
4e4fbf4839 Merge hundin.mysql.fi:/home/heikki/mysql-4.0
into hundin.mysql.fi:/home/heikki/mysql-4.1


innobase/os/os0file.c:
  Auto merged
2005-03-03 17:26:12 +02:00
unknown
969be90f71 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.


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.
2005-03-03 17:20:05 +02:00
unknown
21a6c52c4f InnoDB: Merge fix of Bug #8771 from the 4.1 tree
innobase/row/row0sel.c:
  Manual merge (Bug #8771)
2005-03-02 12:49:51 +02:00
unknown
cc4455631a Merge
innobase/include/srv0srv.h:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
myisam/mi_create.c:
  Auto merged
myisam/mi_open.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
mysql-test/r/myisam.result:
  SCCS merged
mysql-test/t/myisam.test:
  SCCS merged
sql/ha_innodb.h:
  SCCS merged
2005-03-02 10:56:13 +01:00
unknown
c4409a7cbf Merge jlindstrom@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/jan/mysql-5.0


sql/ha_innodb.cc:
  Auto merged
2005-03-02 07:48:00 +02:00
unknown
a10fb6971a row0sel.c:
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)
2005-03-01 20:46:23 +02:00
unknown
39cf45fd54 After review fixes. Fix bugs in TRUNCATE.
innobase/dict/dict0crea.c:
  dict_truncate_index_tree(): Commit the mtr after deleting the
  index tree. Add diagnostics for error cases. Let the caller update
  SYS_INDEXES.PAGE_NO to the new root page number. Return the new
  root page number, or FIL_NULL on error.
innobase/include/dict0crea.h:
  dict_truncate_index_tree(): Commit the mtr after deleting the
  index tree. Add diagnostics for error cases. Let the caller update
  SYS_INDEXES.PAGE_NO to the new root page number. Return the new
  root page number, or FIL_NULL on error.
innobase/include/page0page.ic:
  page_mem_free(): Disable the memset() call, to make it possible to
  recover some data if someone accidentally deletes a large number
  of records from a table.
innobase/log/log0recv.c:
  Do not disable InnoDB Hot Backup specific code in MySQL builds.
innobase/row/row0mysql.c:
  row_truncate_table_for_mysql(): Remove an infinite loop in case
  a SYS_INDEXES record has been deleted. Avoid deadlocks by committing
  and restarting the mini-transaction.
sql/ha_innodb.cc:
  ha_innobase::delete_all_rows(): set trx->active_trans = 1
2005-03-01 19:42:59 +02:00
unknown
b9b69440c1 InnoDB: Zero fill newly created pages and deleted records to
remove old junk and to improve compression ratio.
InnoDB: Make implicit type conversions explicit. (Bug #8826)


innobase/btr/btr0cur.c:
  Add "offsets" parameter to page_cur_delete_rec() calls
  btr_cur_optimistic_delete(): Simplify the logic with a flag variable
  btr_cur_pessimistic_delete(): Compute "offsets" earlier
innobase/include/page0cur.h:
  page_cur_delete_rec(): Add parameter "offsets"
innobase/include/page0page.h:
  page_mem_free(): Replace parameter "index" with "offsets"
innobase/include/page0page.ic:
  page_mem_free(): Replace parameter "index" with "offsets".
  Clear the data bytes of the freed record.
  (The "extra" bytes will be needed by free space management.)
innobase/include/rem0rec.h:
  Remove unnecessary function rec_get_size()
innobase/log/log0recv.c:
  Remove function rec_apply_log_recs_for_backup()
  unless #ifdef UNIV_HOTBACKUP.
innobase/page/page0cur.c:
  Add parameter "offsets" to page_cur_delete_rec().
innobase/page/page0page.c:
  page_create(): Zero fill the data area.
  page_delete_rec_list_start(): Add parameter "offsets"
  to page_cur_delete_rec().
innobase/rem/rem0rec.c:
  Remove unnecessary function rec_get_size().
  Fix compiler warnings about implicit type conversions.  (Bug #8826)
innobase/srv/srv0srv.c:
  Fix compiler warnings about implicit type conversions. (Bug #8826)
innobase/sync/sync0sync.c:
  Fix compiler warnings about implicit type conversions. (Bug #8826)
2005-03-01 13:54:48 +02:00
unknown
c5649646fd Merge jlindstrom@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/jan/mysql-5.0
2005-03-01 12:39:23 +02:00
unknown
f2afed0d77 After merge fixes 2005-03-01 09:51:32 +02:00
unknown
61ffbc31ae InnoDB: Fix compilation errors on IA-64 Windows
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.
2005-03-01 09:27:09 +02:00
unknown
ea24940fba Fixed XA recovery for InnoDB. Note that XA recovery is still disabled
until it has been comprehensive tested.


innobase/log/log0log.c:
  Added general documentation of InnoDB redo-logs.
innobase/trx/trx0roll.c:
  Prepared transactions are not rolled back in a recovery if
  innobase_force_recovery = 0. But they are rolled back if
  innobase_force_recovery > 0.
innobase/trx/trx0trx.c:
  Disable the XA code in InnoDB crash recovery until it has been
  comprehensive tested. SHOW INNODB STATUS now prints different
  output for prepared transactions.
innobase/trx/trx0undo.c:
  Do not unnecessary write X/Open XA XID. XID is written in the prepare.
  Space for a XID should be reserved at this stage.
sql/ha_innodb.cc:
  Remove error.
2005-03-01 08:17:03 +02:00
unknown
45a26d449d merge with 4.1
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
client/mysql.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/fil/fil0fil.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
mysql-test/r/select_found.result:
  Auto merged
mysql-test/r/type_set.result:
  Auto merged
mysys/default.c:
  Auto merged
sql/field.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
strings/ctype-simple.c:
  Auto merged
include/mysql_com.h:
  Merge
sql/filesort.cc:
  merge
2005-02-28 12:18:39 +02:00
unknown
8e3addf928 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


BitKeeper/etc/ignore:
  added support-files/ndb-config-2-node.ini
2005-02-28 12:00:18 +02:00
unknown
8b8c9452dd Fixed wrong memory references found by purify
(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)
2005-02-28 11:59:46 +02:00
unknown
8167f5e5ed Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
2005-02-26 12:19:56 +02:00
unknown
2ab324db26 trx0trx.c, trx0trx.h:
Fix wrong spelling


innobase/include/trx0trx.h:
  Fix wrong spelling
innobase/trx/trx0trx.c:
  Fix wrong spelling
2005-02-25 22:54:33 +02:00