An error occurred fetching the project authors.
- 13 Dec, 2005 1 commit
-
-
unknown authored
table' lockup". Changes from the innodb-5.0-ss92 snapshot. Do not call os_file_create_tmpfile() at runtime. Instead, create all tempfiles at startup and guard access to them with mutexes. innobase/btr/btr0sea.c: Changes from the innodb-5.0ss92 snapshot. innobase/include/buf0buf.h: Changes from the innodb-5.0ss92 snapshot. innobase/include/os0file.h: Changes from the innodb-5.0ss92 snapshot. innobase/include/srv0srv.h: Changes from the innodb-5.0ss92 snapshot. innobase/row/row0ins.c: Changes from the innodb-5.0ss92 snapshot. innobase/srv/srv0srv.c: Changes from the innodb-5.0ss92 snapshot. innobase/srv/srv0start.c: Changes from the innodb-5.0ss92 snapshot. mysql-test/r/innodb.result: Changes from the innodb-5.0ss92 snapshot. mysql-test/t/innodb.test: Changes from the innodb-5.0ss92 snapshot. sql/ha_innodb.cc: Changes from the innodb-5.0ss92 snapshot.
-
- 12 Dec, 2005 1 commit
-
-
unknown authored
table' lockup". Changes from the innodb-4.1-ss11 snapshot. Do not call os_file-create_tmpfile() at runtime. Instead, create a tempfile at startup and guard access to it with a mutex. Also, fix bugs: 10511: "Wrong padding of UCS2 CHAR columns in ON UPDATE CASCADE"; 13778: "If FOREIGN_KEY_CHECKS=0, one can create inconsistent FOREIGN KEYs". When FOREIGN_KEY_CHECKS=0 we still need to check that datatypes between foreign key references are compatible. Also, added test cases (also for bug 9802). innobase/dict/dict0dict.c: Changes from the innodb-4.1-ss11 snapshot innobase/dict/dict0load.c: Changes from the innodb-4.1-ss11 snapshot innobase/include/dict0dict.h: Changes from the innodb-4.1-ss11 snapshot innobase/include/dict0load.h: Changes from the innodb-4.1-ss11 snapshot innobase/include/os0file.h: Changes from the innodb-4.1-ss11 snapshot innobase/include/rem0cmp.h: Changes from the innodb-4.1-ss11 snapshot innobase/include/srv0srv.h: Changes from the innodb-4.1-ss11 snapshot innobase/rem/rem0cmp.c: Changes from the innodb-4.1-ss11 snapshot innobase/row/row0ins.c: Changes from the innodb-4.1-ss11 snapshot innobase/row/row0mysql.c: Changes from the innodb-4.1-ss11 snapshot innobase/srv/srv0srv.c: Changes from the innodb-4.1-ss11 snapshot innobase/srv/srv0start.c: Changes from the innodb-4.1-ss11 snapshot libmysqld/ha_blackhole.cc: Changes from the innodb-4.1-ss11 snapshot mysql-test/r/innodb.result: Changes from the innodb-4.1-ss11 snapshot mysql-test/t/innodb.test: Changes from the innodb-4.1-ss11 snapshot sql/ha_innodb.cc: Changes from the innodb-4.1-ss11 snapshot
-
- 28 Oct, 2005 1 commit
-
-
unknown authored
ON UPDATE CASCADE innobase/row/row0ins.c: Patch from Marko is applied
-
- 26 Sep, 2005 1 commit
-
-
unknown authored
innobase/row/row0ins.c: Don't assert on temp file creation failure.
-
- 23 Sep, 2005 2 commits
-
-
unknown authored
Fix a compilation error: Visual C++ does not seem to allow variable declaration in the middle of a program block innobase/row/row0ins.c: Fix a compilation error: Visual C++ does not seem to allow variable declaration in the middle of a program block
-
unknown authored
innobase/dict/dict0dict.c: Add 'add_newline' parameter to dict_print_info_on_foreign_key_in_create_format. innobase/include/dict0dict.h: Add 'add_newline' parameter to dict_print_info_on_foreign_key_in_create_format. innobase/include/os0file.h: Add os_file_read_string. innobase/include/trx0trx.h: Add trx_set_detailed_error and trx_set_detailed_error_from_file functions and a detailed_error field to trx_struct. innobase/include/ut0mem.h: Add ut_strlcpy. innobase/os/os0file.c: Add os_file_read_string. innobase/row/row0ins.c: Add row_ins_set_detailed function and call it when needed. Adapt to changes in dict_print_info_on_foreign_key_in_create_format. innobase/trx/trx0trx.c: Add trx_set_detailed_error and trx_set_detailed_error_from_file. Clear trx->detailed_error in trx_create. innobase/ut/ut0mem.c: Add ut_strlcpy. mysql-test/r/innodb.result: Add new tests, adapt existing ones whose output was changed. mysql-test/t/innodb.test: Add new tests, adapt existing ones whose output was changed. sql/ha_innodb.cc: Add get_error_message. Clear trx->detailed_error in start_stmt and external_lock. sql/ha_innodb.h: Add get_error_message. sql/handler.cc: Add special case code in print_error for HA_ERR_ROW_IS_REFERENCED and HA_ERR_NO_REFERENCED_ROW. Change SETMSG to point to new error messages. sql/share/errmsg.txt: Add ER_ROW_IS_REFERENCED_2 and ER_NO_REFERENCED_ROW_2.
-
- 12 Aug, 2005 1 commit
-
-
unknown authored
most notably deadlocked ones in SHOW INNODB STATUS. Fixes bug #7819. innobase/btr/btr0pcur.c: Adapt to changes in trx_print. innobase/include/trx0trx.h: Add max_query_len parameter to trx_print. innobase/lock/lock0lock.c: Adapt to changes in trx_print. innobase/row/row0ins.c: Adapt to changes in trx_print. innobase/row/row0sel.c: Adapt to changes in trx_print. innobase/row/row0umod.c: Adapt to changes in trx_print. innobase/row/row0upd.c: Adapt to changes in trx_print. innobase/srv/srv0srv.c: Adapt to changes in trx_print. innobase/trx/trx0trx.c: Add max_query_len parameter to trx_print. sql/ha_innodb.cc: Add max_query_len parameter to innobase_mysql_print_thd.
-
- 22 Jun, 2005 1 commit
-
-
unknown authored
innobase/row/row0ins.c: Remove compilation warnings and errors on SGI IRIX.
-
- 13 May, 2005 1 commit
-
-
unknown authored
Enforce maximum char_length of UTF-8 data (Bug #10409). Pad UTF-8 variable-length CHAR columns with 0x20. Pad UCS2 CHAR columns with 0x0020 (Bug #10511). innobase/data/data0type.c: dtype_get_at_most_n_mbchars(): Avoid division by zero in assertion when this function is called with dtype->mbmaxlen==0 innobase/row/row0ins.c: row_ins_cascade_calc_update_vec(): Enforce maximum char_length of UTF-8 data (Bug #10409). Pad UTF-8 CHAR columns with 0x20. Pad UCS2 CHAR columns with 0x0020 (Bug #10511).
-
- 25 Apr, 2005 1 commit
-
-
unknown authored
innobase/btr/btr0btr.c: Eliminate some buf_frame_align() calls. Make use of the page_rec_is_infimum(), page_rec_is_supremum() and page_rec_is_user_rec() functions. Replace some index->table->comp with page_is_comp(). Eliminate some variables to reduce register spilling on x86. Note that page_is_comp() may return nonzero instead of TRUE. Note that rec_offs_comp() may return nonzero instead of TRUE. innobase/btr/btr0cur.c: Eliminate some buf_frame_align() calls. Replace some index->table->comp with page_is_comp() or rec_offs_comp(). Eliminate some variables to reduce register spilling on x86. Note that page_is_comp() may return nonzero instead of TRUE. Note that rec_offs_comp() may return nonzero instead of TRUE. Remove an extra mem_heap_create() call from btr_cur_update_in_place(). Add "page" parameter to lock_rec_store_on_page_infimum(). Add some UNIV_LIKELY() and UNIV_UNLIKELY() hints. btr_estimate_number_of_different_key_vals(): Rename the offsets_* variables to be more descriptive and eliminate one rec_get_offsets() and one page_rec_get_next() call in the loop. innobase/btr/btr0pcur.c: Eliminate some buf_frame_align() calls. Make use of the page_rec_is_infimum(), page_rec_is_supremum() and page_rec_is_user_rec() functions. Replace some index->table->comp with page_is_comp(). Eliminate some variables to reduce register spilling on x86. Note that page_is_comp() may return nonzero instead of TRUE. Make some ut_a() assertions ut_ad() ones to improve performance. Add some UNIV_LIKELY() and UNIV_UNLIKELY() hints. innobase/btr/btr0sea.c: Make use of page_rec_is_infimum() and page_rec_is_supremum(). Eliminate some buf_frame_align() calls. Add some UNIV_UNLIKELY and UNIV_LIKELY hints. Turn some assertions into debug assertions. innobase/dict/dict0crea.c: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp innobase/ibuf/ibuf0ibuf.c: Make use of page_rec_is_infimum() and page_rec_is_supremum(). Add some UNIV_UNLIKELY and UNIV_LIKELY hints. ibuf_get_merge_page_nos(): Rename parameter "first_rec" to "rec" and eliminate local variable "rec". innobase/include/btr0btr.h: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp innobase/include/buf0buf.h: Rename buf_frame_get_modify_clock() to buf_block_get_modify_clock(). innobase/include/buf0buf.ic: Rename buf_frame_get_modify_clock() to buf_block_get_modify_clock() and remove the buf_block_align() call. innobase/include/lock0lock.h: lock_rec_store_on_page_infimum(): Add parameter "page" innobase/include/mach0data.h: Add mach_encode_2() and mach_decode_2(). innobase/include/mach0data.ic: Add mach_encode_2() and mach_decode_2(). innobase/include/page0cur.h: Add const qualifier to page_cur_is_before_first() and page_cur_is_after_last(). innobase/include/page0cur.ic: Make use of page_rec_is_infimum() and page_rec_is_supremum(). innobase/include/page0page.h: Remove page_rec_is_first_user_rec() and page_rec_is_last_user_rec(). Add page_rec_is_infimum() and page_rec_is_supremum(). Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. innobase/include/page0page.ic: Remove page_rec_is_first_user_rec() and page_rec_is_last_user_rec(). Add page_rec_is_infimum() and page_rec_is_supremum(). Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. Add UNIV_UNLIKELY, UNIV_LIKELY and UNIV_EXPECT hints. Reduce the number of buf_frame_align() calls. innobase/include/rem0rec.ic: rec_offs_comp(): Return zero or nonzero instead of FALSE or TRUE. innobase/include/row0mysql.h: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. innobase/lock/lock0lock.c: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. Remove parameter "comp" from lock_rec_get_next(), lock_rec_has_expl() and lock_rec_other_has_expl_req(). Add parameter "page" to lock_rec_store_on_page_infimum(). Add UNIV_UNLIKELY hints. Reduce the number of buf_frame_align() calls. Make use of page_rec_is_infimum(), page_rec_is_supremum() and page_rec_is_user_rec(). Move the "comp" flag outside some loops. innobase/mtr/mtr0log.c: Replace index->table->comp with page_rec_is_comp(). innobase/page/page0cur.c: Replace index->table->comp with page_is_comp() or page_rec_is_comp(). Eliminate some buf_frame_align() calls. Add some debug assertions. innobase/page/page0page.c: Optimize page_dir_find_owner_slot(). Compare the record offset 16 bits at a time, because that seems to be the only way to avoid register spilling on x86. Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. Remove parameter "page" of page_delete_rec_list_write_log(). Make use of page_rec_is_infimum(). innobase/rem/rem0cmp.c: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. innobase/row/row0ins.c: Make use of page_rec_is_infimum() and page_rec_is_supremum(). Reduce the amount of buf_frame_align() calls. row_ins_index_entry_low(): Disable assertion about column count unless #ifdef UNIV_DEBUG. innobase/row/row0mysql.c: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. innobase/row/row0row.c: Eliminate some buf_frame_align() calls. Make use of page_rec_is_infimum(). innobase/row/row0sel.c: Make use of page_rec_is_supremum() and page_rec_is_infimum(). Turn some assertions into debug assertions. Add UNIV_LIKELY and UNIV_UNLIKELY hints. row_search_for_mysql(): Eliminate local variables "moved", "cons_read_requires_clust_rec", "was_lock_wait", "shortcut", "success" and "comp". Replace some of them with goto's. Disable variable "cnt" unless #ifdef UNIV_SEARCH_DEBUG. innobase/row/row0vers.c: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. Replace index->table->comp with page_rec_is_comp(). Eliminate some buf_frame_align() calls.
-
- 21 Apr, 2005 1 commit
-
-
unknown authored
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.
-
- 18 Apr, 2005 1 commit
-
-
unknown authored
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.
-
- 15 Mar, 2005 1 commit
-
-
unknown authored
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
-
- 10 Mar, 2005 1 commit
-
-
unknown authored
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/
-
- 09 Mar, 2005 1 commit
-
-
unknown authored
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_[]
-
- 04 Feb, 2005 1 commit
-
-
unknown authored
by adding #ifndef UNIV_HOTBACKUP and adjusting some function declarations. innobase/data/data0type.c: Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP innobase/dict/dict0dict.c: Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP innobase/dict/dict0load.c: Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP innobase/include/data0type.ic: Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP innobase/include/srv0srv.h: Introduce srv_init(), so that it can be called in InnoDB Hot Backup innobase/include/srv0start.h: Introduce srv_add_path_separator_if_needed(), so that it can be invoked in InnoDB Hot Backup innobase/include/sync0sync.h: Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP innobase/include/sync0sync.ic: Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP innobase/include/trx0trx.h: trx_recover_for_mysql(): replace uint with ulint, as uint is not declared in InnoDB Hot Backup innobase/lock/lock0lock.c: Replace bool with ibool Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP innobase/row/row0ins.c: Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP innobase/row/row0mysql.c: Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP innobase/srv/srv0srv.c: Make srv_init() global, so that InnoDB Hot Backup can call it. Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP innobase/srv/srv0start.c: Make srv_add_path_separator_if_needed() global for InnoDB Hot Backup. Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP innobase/sync/sync0rw.c: Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP innobase/sync/sync0sync.c: Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP innobase/trx/trx0roll.c: Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP innobase/trx/trx0trx.c: Replace uint with ulint, as uint is undeclared in InnoDB Hot Backup innobase/ut/ut0ut.c: Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
-
- 03 Feb, 2005 1 commit
-
-
unknown authored
innobase/row/row0ins.c: If the SQL-query will update or replace duplicate key row we take X-lcok for duplicate row. sql/ha_innodb.cc: INSERT ON DUPLICATE KEY UPDATE will also update duplicate key and we can take X-lock in this case for duplicate key records. BitKeeper/etc/ignore: Added innobase/row/row0index.c to the ignore list
-
- 25 Jan, 2005 1 commit
-
-
unknown authored
innobase/row/row0ins.c: One more after merge fix
-
- 12 Jan, 2005 2 commits
-
-
unknown authored
Add comments about why the InnoDB latching order is obeyed also for the MySQL query cache mutex; add an error printf if that is not the case sync0sync.h: Assign sync0sync.h ranks also for the MySQL query cache mutex and the MySQL binlog mutex; the latching order must be obeyed also for these row0ins.c: Add a comment why the query cache invalidate operation cannot deadlock in a cascaded FOREIGN KEY operation innobase/row/row0ins.c: Add a comment why the query cache invalidate operation cannot deadlock in a cascaded FOREIGN KEY operation innobase/include/sync0sync.h: Assign sync0sync.h ranks also for the MySQL query cache mutex and the MySQL binlog mutex; the latching order must be obeyed also for these sql/ha_innodb.cc: Add comments about why the InnoDB latching order is obeyed also for the MySQL query cache mutex; add an error printf if that is not the case
-
unknown authored
key check because we can allow inserts into gaps (Support Issue #4317). innobase/row/row0ins.c: Take a shared record lock (LOCK_REC_NOT_GAP) for a matching record in the foreign key check because we can allow inserts into gaps.
-
- 27 Dec, 2004 3 commits
-
-
unknown authored
Fix bug: if we dropped a table where an INSERT was waiting for a lock to check a FOREIGN KEY constraint, then an assertion would fail in lock_reset_all_on_table(), since that operation assumes no waiting locks on the table or its records row0mysql.c: Fix bug: InnoDB failed to drop a table in the background drop queue if the table was referenced by a foreign key constraint innobase/row/row0mysql.c: Fix bug: InnoDB failed to drop a table in the background drop queue if the table was referenced by a foreign key constraint innobase/row/row0ins.c: Fix bug: if we dropped a table where an INSERT was waiting for a lock to check a FOREIGN KEY constraint, then an assertion would fail in lock_reset_all_on_table(), since that operation assumes no waiting locks on the table or its records
-
unknown authored
Correct typo innobase/fil/fil0fil.c: Correct typo innobase/row/row0ins.c: Correct typo sql/ha_innodb.cc: Correct typo
-
unknown authored
Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1 innobase/buf/buf0rea.c: Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1 innobase/include/dict0load.h: Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1 innobase/include/fil0fil.h: Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1 innobase/include/row0mysql.h: Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1 innobase/include/trx0trx.h: Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1 innobase/dict/dict0load.c: Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1 innobase/fil/fil0fil.c: Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1 innobase/row/row0ins.c: Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1 innobase/row/row0mysql.c: Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1 innobase/row/row0sel.c: Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1 innobase/srv/srv0start.c: Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1 innobase/trx/trx0trx.c: Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1 sql/ha_innodb.cc: Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
-
- 10 Dec, 2004 1 commit
-
-
unknown authored
operations. innobase/include/lock0lock.h: Added lock_clust_rec_read_check_and_lock_alt(), a variant of lock_clust_rec_read_check_and_lock() without the parameter "offsets". innobase/lock/lock0lock.c: Added lock_clust_rec_read_check_and_lock_alt(), a variant of lock_clust_rec_read_check_and_lock() without the parameter "offsets". innobase/row/row0ins.c: row_ins_foreign_check_on_constraint(): Do not allocate offsets from stack. This reduces the stack space consumption of ON UPDATE CASCADE operations by 400 bytes per cascaded UPDATE operation.
-
- 09 Dec, 2004 1 commit
-
-
unknown authored
memory heaps. This changeset plugs also a few memory leaks that were introduced with the compact InnoDB table format. innobase/btr/btr0btr.c: Changed interface to rec_get_offsets() innobase/btr/btr0cur.c: Changed interface to rec_get_offsets() innobase/btr/btr0pcur.c: Changed interface to rec_get_offsets() innobase/btr/btr0sea.c: Changed interface to rec_get_offsets() innobase/include/rem0rec.h: Changed interface to rec_get_offsets() innobase/include/rem0rec.ic: Changed interface to rec_get_offsets() innobase/lock/lock0lock.c: Changed interface to rec_get_offsets() innobase/page/page0cur.c: Changed interface to rec_get_offsets() innobase/page/page0page.c: Changed interface to rec_get_offsets() innobase/rem/rem0rec.c: Changed interface to rec_get_offsets() innobase/row/row0ins.c: Changed interface to rec_get_offsets() innobase/row/row0mysql.c: Changed interface to rec_get_offsets() innobase/row/row0purge.c: Changed interface to rec_get_offsets() innobase/row/row0row.c: Changed interface to rec_get_offsets() innobase/row/row0sel.c: Changed interface to rec_get_offsets() innobase/row/row0umod.c: Changed interface to rec_print() innobase/row/row0undo.c: Changed interface to rec_get_offsets() innobase/row/row0upd.c: Changed interface to rec_get_offsets() innobase/row/row0vers.c: Changed interface to rec_get_offsets() innobase/trx/trx0rec.c: Changed interface to rec_get_offsets()
-
- 08 Dec, 2004 1 commit
-
-
unknown authored
record format without requiring the doubly linked list added by Heikki in ChangeSet@1.1627.16.2 innobase/btr/btr0sea.c: btr_search_drop_page_hash_index(): support the compact record format innobase/ibuf/ibuf0ibuf.c: ibuf_insert_to_index_page(): Remove unnecessary computation of field offsets. innobase/row/row0ins.c: row_ins_index_entry_low(): Remove unnecessary computation of field offsets.
-
- 03 Dec, 2004 1 commit
-
-
unknown authored
innobase/btr/btr0btr.c: Cache the value of dtype_get_fixed_size(type) in order to avoid repeated calls to an external function innobase_is_mb_cset() innobase/include/data0type.ic: Declare innobase_is_mb_cset(). dtype_get_fixed_size(): Invoke innobase_is_mb_cset() for DATA_MYSQL. innobase/row/row0ins.c: Cache the value of dtype_get_fixed_size(type) in order to avoid repeated calls to an external function innobase_is_mb_cset() innobase/row/row0sel.c: row_search_for_mysql(): Added a missing rec_reget_offsets() call that caused an InnoDB debug assertion failure in ctype_utf8 test. sql/ha_innodb.cc: Define innobase_is_mb_cset().
-
- 02 Dec, 2004 1 commit
-
-
unknown authored
Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/btr/btr0btr.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/btr/btr0cur.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/btr/btr0pcur.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/btr/btr0sea.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/data/data0data.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/data/data0type.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/dict/dict0boot.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/dict/dict0crea.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/dict/dict0dict.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/dict/dict0load.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/dict/dict0mem.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/fil/fil0fil.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/fsp/fsp0fsp.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/ibuf/ibuf0ibuf.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/btr0btr.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/btr0btr.ic: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/btr0cur.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/btr0cur.ic: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/btr0pcur.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/btr0sea.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/data0type.ic: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/dict0dict.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/dict0dict.ic: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/dict0mem.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/lock0lock.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/lock0lock.ic: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/mtr0log.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/mtr0mtr.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/page0cur.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/page0cur.ic: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/page0page.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/page0page.ic: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/rem0cmp.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/rem0cmp.ic: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/rem0rec.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/rem0rec.ic: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/row0row.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/row0row.ic: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/row0upd.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/row0upd.ic: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/row0vers.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/row0vers.ic: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/srv0srv.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/trx0rec.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/ut0byte.h: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/include/ut0byte.ic: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/lock/lock0lock.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/log/log0recv.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/mtr/mtr0log.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/page/page0cur.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/page/page0page.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/pars/pars0pars.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/rem/rem0cmp.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/rem/rem0rec.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/row/row0ins.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/row/row0mysql.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/row/row0purge.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/row/row0row.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/row/row0sel.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/row/row0umod.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/row/row0undo.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/row/row0upd.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/row/row0vers.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/srv/srv0srv.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/trx/trx0rec.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. innobase/trx/trx0undo.c: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC. sql/ha_innodb.cc: Implement more compact InnoDB record format. Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
-
- 30 Nov, 2004 1 commit
-
-
unknown authored
innobase/include/trx0roll.h: Changed prototype of the function trx_rollback_or_clean_all_without_sess because this function is executed in a background thread. innobase/include/trx0trx.h: Added support for X/Open XA prepare, recover and search by X/Open XA XID. innobase/include/trx0undo.h: Added support for X/Open XA prepare and recover. We need to store X/Open XA XID to the undo log header for recovery. innobase/log/log0recv.c: Create a thread to run trx_rollback_or_clean_all_without_sess function to rollback the uncommitted transactions which have no user session. innobase/row/row0ins.c: Remove unnecessary variables. innobase/trx/trx0roll.c: Changed so that trx_rollback_or_clean_all_without_sess is executed in a background thread. We should also leave all prepared transactions active to wait for commit or abort from MySQL. innobase/trx/trx0sys.c: Only those rows which belong to the active transaction in crash recovery are undone. innobase/trx/trx0trx.c: Added support for X/Open XA prepare and recover. We need to store X/Open XA XID to trx structure and left prepared transactions to wait for a commit or abort from MySQL. This requires also that we add TRX_PREPARED state to the transaction and TRX_UNDO_PREPARED state for undo logs. innobase/trx/trx0undo.c: Added support for X/Open XA prepare and recover. We need to store X/Open XA XID to undo log header for recovery of distributed transactions. sql/ha_innodb.h: Added prototypes for X/Open XA prepare, recover, commit and rollback. sql/handler.h: Added definition for X/Open XA XID structure.
-
- 18 Nov, 2004 1 commit
-
-
unknown authored
row_ins_scan_sec_index_for_duplicate(), row_ins_duplicate_error_in_clust(): remove unused variables "ptr" innobase/row/row0ins.c: row_ins_scan_sec_index_for_duplicate(), row_ins_duplicate_error_in_clust(): remove unused variables "ptr"
-
- 21 Oct, 2004 1 commit
-
-
unknown authored
Fix bug #5961: release the dictionary latch during a long cascaded FOREIGN KEY operation, so that we do not starve other users innobase/row/row0ins.c: Fix bug #5961: release the dictionary latch during a long cascaded FOREIGN KEY operation, so that we do not starve other users innobase/row/row0mysql.c: Fix bug #5961: release the dictionary latch during a long cascaded FOREIGN KEY operation, so that we do not starve other users
-
- 15 Oct, 2004 1 commit
-
-
unknown authored
was the query REPLACE or LOAD DATA INFILE REPLACE. innobase/row/row0ins.c: Find SQL-query directly from current thread and see if the query was REPLACE or LOAD DATA INFILE REPLACE. sql/ha_innodb.cc: Find current thread and return true if SQL-query in the current thread was either REPLACE or LOAD DATA INFILE REPLACE.
-
- 14 Oct, 2004 1 commit
-
-
unknown authored
X-locks on duplicates also on LOAD DATA...REPLACE clause and fixes a bug #6086 adding --disable_warnings and --enable_warnings around the create table clauses in ctype_utf8 tests for InnoDB. innobase/dict/dict0dict.c: Remove static. innobase/include/dict0dict.h: Add prototype for a function dict_scan_to innobase/row/row0ins.c: Add support for a LOAD DATA INFILE 'xxx' REPLACE INTO TABLE x. We should take X-locks on both REPLACE and LOAD DATA...REPLACE queries to duplicate records. innobase/row/row0sel.c: If innodb_locks_unsafe_for_binlog options is used we do not lock gaps. Supremum record is really a dummy record i.e. gap, therefore we do set locks there. mysql-test/t/ctype_utf8.test: Fix bug #6086: Add --disable_warnings and --enable_warnings around the create table where engine=innodb.
-
- 01 Oct, 2004 2 commits
-
-
unknown authored
Fix bug introduced by the prefix key + multibyte charsets patch today sql/ha_innodb.cc: Fix bug introduced by the prefix key + multibyte charsets patch today innobase/include/data0type.h: Fix bug introduced by the prefix key + multibyte charsets patch today innobase/include/fsp0fsp.h: Fix bug introduced by the prefix key + multibyte charsets patch today innobase/data/data0type.c: Fix bug introduced by the prefix key + multibyte charsets patch today innobase/row/row0ins.c: Fix bug introduced by the prefix key + multibyte charsets patch today innobase/row/row0row.c: Fix bug introduced by the prefix key + multibyte charsets patch today innobase/row/row0sel.c: Fix bug introduced by the prefix key + multibyte charsets patch today innobase/row/row0upd.c: Fix bug introduced by the prefix key + multibyte charsets patch today
-
unknown authored
innobase/btr/btr0btr.c: Add parameter to ut_print_name() and dict_index_name_print() calls innobase/btr/btr0cur.c: Add parameter to dict_index_name_print() calls innobase/buf/buf0buf.c: Add parameter to dict_index_name_print() calls innobase/dict/dict0crea.c: Add parameter to ut_print_name() calls innobase/dict/dict0dict.c: Add parameter to ut_print_name() calls Update documentation links to http://dev.mysql.com innobase/dict/dict0load.c: Add parameter to ut_print_name() calls innobase/fil/fil0fil.c: Use ut_print_filename() Update links to documentation to http://dev.mysql.com innobase/ibuf/ibuf0ibuf.c: Replaced printf(...) with fprintf(stderr,...) innobase/include/dict0dict.h: Added trx parameters innobase/include/row0row.h: Added trx parameter innobase/include/row0sel.h: Added trx parameter innobase/include/row0upd.h: Added trx parameters innobase/include/row0upd.ic: Added trx parameter for dict_index_name_print() innobase/include/trx0rec.h: Added trx parameter innobase/include/ut0ut.h: Added ut_print_filename() Added trx parameter to ut_print_name() and ut_print_namel() innobase/lock/lock0lock.c: Added parameter to dict_index_name_print() and ut_print_name() calls innobase/page/page0page.c: Added parameter to dict_index_name_print() calls innobase/pars/pars0opt.c: Added parameter to dict_index_name_print() call innobase/pars/pars0pars.c: Added parameter to upd_field_set_field_no() call innobase/row/row0ins.c: Added trx parameters innobase/row/row0mysql.c: Added trx parameters innobase/row/row0purge.c: Added trx parameter innobase/row/row0row.c: Added trx parameter innobase/row/row0sel.c: Added trx parameters innobase/row/row0umod.c: Added trx parameters innobase/row/row0upd.c: Added trx parameters innobase/trx/trx0rec.c: Added trx parameters innobase/trx/trx0roll.c: Added parameter to ut_print_name() calls innobase/ut/ut0ut.c: Added ut_print_filename() Added trx parameter to ut_print_namel() and ut_print_name() calls sql/ha_innodb.cc: Added trx parameters Rewrote mysql_get_identifier_quote_char() sql/mysql_priv.h: Added get_quote_char_for_identifier() sql/sql_show.cc: Added get_quote_char_for_identifier() Removed append_quoted_simple_identifier() Make append_identifier() use get_quote_char_for_identifier()
-
- 03 Sep, 2004 2 commits
-
-
unknown authored
-
unknown authored
InnoDB. This fixes also a second part of the same problem with prefix keys on a multibyte string column for InnoDB. innobase/btr/btr0btr.c: Multibyte character set prefix indexes are not any more fixed size. Therefore, we have to chect that length of the index field in not greater than prefix length. innobase/rem/rem0cmp.c: Remove unnecessary changes. innobase/row/row0ins.c: Fixed unique prefix key or prefix key using multibyte character set bugs for InnoDB (BUG #4521). For prefix keys we have to get the storage length for the prefix length of characters in the key. innobase/row/row0row.c: Fixed unique prefix key or prefix key using multibyte character set bugs for InnoDB (BUG #4521). For prefix keys we have to get the storage length for the prefix length of characters in the key. innobase/row/row0sel.c: Fixed unique prefix key or prefix key using multibyte character set bugs for InnoDB (BUG #4521). For prefix keys we have to get the storage length for the prefix length of characters in the key. innobase/row/row0upd.c: Fixed unique prefix key or prefix key using multibyte character set bugs for InnoDB (BUG #4521). For prefix keys we have to get the storage length for the prefix length of characters in the key. mysql-test/r/ctype_utf8.result: Added utf8 character test cases for InnoDB. mysql-test/t/ctype_utf8.test: Added utf8 character expected test results for InnoDB. sql/ha_innodb.cc: Added function innobase_get_at_most_n_mbchars to return position of the nth character in the multibyte character string. sql/ha_innodb.h: Remove unnecessary changes.
-
- 17 Aug, 2004 1 commit
-
-
unknown authored
gap type lock. innobase/lock/lock0lock.c: Record lock (LOCK_ORDINARY or LOCK_REC_NOT_GAP) does not need to wait for a gap type lock. innobase/row/row0ins.c: Polishing.
-
- 12 Aug, 2004 1 commit
-
-
unknown authored
a REPLACE command. innobase/lock/lock0lock.c: Gap type locks without LOCK_INSERT_INTENSION flag do not need to wait for anything. This is because different users can have conflicting lock types on gaps. innobase/row/row0ins.c: The manual defines the REPLACE semantics that it is either an INSERT or DELETE(s) for duplicate key + INSERT. Therefore, we take X-lock for duplicates.
-
- 11 Aug, 2004 1 commit
-
-
unknown authored
innobase/lock/lock0lock.c: Made change where lock on the supremum record is really a 'gap' type lock and gap type lock do not need to wait if it is not LOCK_INSERT_INTENSION type. innobase/row/row0ins.c: Added fuction row_ins_set_exclusive_rec_lock to set exclusive lock on a record. This function is used for locking possible duplicate key records when user has issued REPLACE-command. Because manual defines the REPLACE semantics that it is either an INSERT or DELETE(s) for duplicate key + INSERT, we take X-lock directly for duplicate records to avoid unnecessary lock upgrades and deadlocks caused by lock upgrades.
-