Commit graph

1160 commits

Author SHA1 Message Date
unknown
1c8f550096 InnoDB: Optimize rec_get_offsets(), rec_copy_prefix_to_buf() and
other rec_ functions based on OProfile measurements on GNU/Linux x86.


innobase/include/rem0rec.h:
  Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
  Remove rec_set_node_ptr_flag().
innobase/include/rem0rec.ic:
  Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp.
  Remove rec_set_node_ptr_flag().
  Add UNIV_LIKELY and UNIV_UNLIKELY hints.
  Correct a spelling error in comment.
  Simplify rec_get_deleted_flag().
innobase/rem/rem0rec.c:
  Add UNIV_LIKELY and UNIV_UNLIKELY hints.
  rec_init_offsets(), rec_get_offsets_func(): Optimize for x86.
  rec_set_field_extern_bits(): Move "comp" flag outside the loop.
  rec_copy_prefix_to_buf(): Add UNIV_PREFETCH hints.
2005-04-22 15:27:11 +03:00
unknown
33d5b13bbe row0upd.c:
Add UNIV_UNLIKELY hint.
lock0lock.c:
  Correct the prototypes of lock_deadlock_recursive() and
  lock_deadlock_occurs().
data0data.c:
  dtuple_convert_big_rec(): Add UNIV_UNLIKELY hint.
ha_innodb.cc:
  ha_innobase::write_row(): Correct the type of 'mode'.


sql/ha_innodb.cc:
  ha_innobase::write_row(): Correct the type of 'mode'.
innobase/data/data0data.c:
  dtuple_convert_big_rec(): Add UNIV_UNLIKELY hint.
innobase/lock/lock0lock.c:
  Correct the prototypes of lock_deadlock_recursive() and
  lock_deadlock_occurs().
innobase/row/row0upd.c:
  Add UNIV_UNLIKELY hint.
2005-04-22 15:15:18 +03:00
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
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
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