An error occurred fetching the project authors.
- 31 Jan, 2011 1 commit
-
-
Marko Mäkelä authored
trx rollback or purge This patch does not relax the failing debug assertion during purge. That will be revisited once we have managed to repeat the assertion failure. row_upd_changes_ord_field_binary_func(): Renamed from row_upd_changes_ord_field_binary(). Add the parameter que_thr_t* in UNIV_DEBUG builds. When the off-page column cannot be retrieved, assert that the current transaction is a recovered one and that it is the one that is currently being rolled back. row_upd_changes_ord_field_binary(): A wrapper macro for row_upd_changes_ord_field_binary_func() that discards the que_thr_t* parameter unless UNIV_DEBUG is defined. row_purge_upd_exist_or_extern_func(): Renamed from row_purge_upd_exist_or_extern(). Add the parameter que_thr_t* in UNIV_DEBUG builds. row_purge_upd_exist_or_extern(): A wrapper macro for row_purge_upd_exist_or_extern_func() that discards the que_thr_t* parameter unless UNIV_DEBUG is defined. Make trx_roll_crash_recv_trx const. If there were a 'do not dereference' attribute, it would be appropriate as well. rb://588 approved by Jimmy Yang
-
- 28 Jan, 2011 1 commit
-
-
Jimmy Yang authored
for external_size rb://581 approved by Marko
-
- 27 Jan, 2011 1 commit
-
-
Marko Mäkelä authored
trx_get_trx_by_xid(): Invalidate trx->xid after a successful lookup, so that subsequent callers will not find the same transaction. The only callers of trx_get_trx_by_xid() will be invoking innobase_commit_low() or innobase_rollback_trx(), and those code paths should not depend on trx->xid. rb://584 approved by Jimmy Yang
-
- 25 Jan, 2011 4 commits
-
-
Marko Mäkelä authored
due to potentially uninitialized variable row_upd_changes_ord_field_binary(): Initialize dfield_len to suppress the warning. The compiler cannot know that row_ext_lookup() does initialize dfield_len for us, as it is defined in a different module.
-
Marko Mäkelä authored
mlog_parse_string(): Enclose the comparison in UNIV_UNLIKELY, not the comparand.
-
Marko Mäkelä authored
row_vers_build_for_semi_consistent_read(): Dereference version_trx before releasing kernel_mutex, but not thereafter.
-
Marko Mäkelä authored
buf_block_alloc(): ulint zip_size is always 0. buf_LRU_get_free_block(): ulint zip_size is always 0. buf_LRU_free_block(): ibool* buf_pool_mutex_released is always NULL. Remove these parameters. buf_LRU_get_free_block(): Simplify the initialization of block->page.zip and release buf_pool_mutex() earlier.
-
- 18 Jan, 2011 1 commit
-
-
Marko Mäkelä authored
rw_lock_debug_print(): Add parameter FILE* for specifying the output stream. rw_lock_list_print_info(): Invoke rw_lock_debug_print() on file, not stderr.
-
- 14 Jan, 2011 1 commit
-
-
Jimmy Yang authored
"rows examined" estimates". This change implements "innodb_stats_method" with options of "nulls_equal", "nulls_unequal" and "null_ignored". rb://553 approved by Marko
-
- 07 Jan, 2011 1 commit
-
-
Jimmy Yang authored
that aren't strings rb://560 approved by Sunny Bains
-
- 05 Jan, 2011 1 commit
-
-
Jimmy Yang authored
constraint creation rb://557 Approved by Sunny Bains
-
- 21 Dec, 2010 2 commits
-
-
Marko Mäkelä authored
This bug fix requires that Bug #58912 be fixed as well (bzr revision id marko.makela@oracle.com-20101221093919-mcmmgd4zpse9567d). Otherwise, another double BLOB free could occur when InnoDB would try to perform an update-in-place as delete-and-insert-by-update-in-place. row_upd_clust_rec_by_insert(): Do not disown the externally stored columns from the old record (btr_cur_mark_extern_inherited_fields()) until after checking the foreign key constraints and successfully inserting the updated record. If a lock wait timeout occurs between the delete-marking of the old record and the insertion of the updated record, mark the columns inherited before retrying the insert. Distinguish the state UPD_NODE_INSERT_BLOB from UPD_NODE_INSERT_CLUSTERED. btr_cur_del_mark_set_clust_rec(): Replace the cursor with block,rec,index,offsets so that the offsets need not be recalculated. Assert that rec is on a clustered index leaf page. btr_cur_disown_inherited_fields(): Renamed from btr_cur_mark_extern_inherited_fields(). Use upd_get_field_by_field_no(). Assert that there are externally stored columns. Assert that a mini-transaction is passed. Remove the return status. (The only caller, row_upd_clust_rec_by_insert(), will have determined that some fields have changed ownership.) btr_cur_mark_dtuple_inherited_extern(): Rename to row_upd_clust_rec_by_insert_inherit_func() and declare as static. Add the debug parameters rec, offsets. When rec is given, assert that the off-page columns match those in the inesrt tuple and that the off-page columns are owned by the record. Assert that the non-updated off-page columns in the insert tuple are owned, and mark them inherited. row_upd_clust_rec_by_insert_inherit(): A wrapper macro for row_upd_clust_rec_by_insert_inherit_func(). row_undo_mod_upd_exist_sec(): Adjust a comment about row_upd_clust_rec_by_insert(). rb:508 approved by Jimmy Yang
-
Marko Mäkelä authored
row_upd_changes_ord_field_binary(): Do not return TRUE if the update vector changes a column that is covered by a prefix index, but does not change the column prefix. Add the row_ext_t parameter for determining whether the prefixes of externally stored columns match. dfield_datas_are_binary_equal(): Add the parameter len, for comparing column prefixes when len > 0. innodb.test: Add a test case where the patch of Bug #55284 failed without this fix. rb:537 approved by Jimmy Yang
-
- 09 Dec, 2010 1 commit
-
-
Jimmy Yang authored
rb://532 approved by Sunny Bains
-
- 11 Nov, 2010 3 commits
-
-
Marko Mäkelä authored
thr_local_validate(), i_s_locks_row_validate(): New validate functions, used in UNIV_DEBUG code for checking the state of internal memory structures.
-
Jimmy Yang authored
to the error log rb://513 approved by Sunny Bains
-
Jimmy Yang authored
of InnoDB buffer pool initialization to the error log
-
- 03 Nov, 2010 3 commits
-
-
Sunny Bains authored
-
Vasil Dimov authored
-
Marko Mäkelä authored
Improve the diagnostics of buffer pool accesses for B-trees, so that the file names and line numbers of the real calls are shown instead of the line of the buf_page_get() call in btr_block_get(). btr_page_get(): Replaced with a macro. btr_block_get_func(): Renamed from btr_block_get(). Add file, line. btr_block_get(): A macro that passes the __FILE__, __LINE__ to btr_block_get_func(). dict_truncate_index_tree(): Replace a btr_page_get() call with btr_block_get(), since we are only latching the page, not accessing it.
-
- 02 Nov, 2010 2 commits
-
-
Marko Mäkelä authored
columns again This is follow-up to Bug #54358. Not all occurrences of the bug were fixed. We need to check all calls to btr_copy_externally_stored_field_prefix_low() and do the right thing when the pointer to the off-page column is null (full of zero bytes). It turns out that only the call to btr_copy_externally_stored_field_prefix() in row_sel_sec_rec_is_for_blob() needs to be changed. For fetching complete off-page columns rather than prefixes, the function btr_rec_copy_externally_stored_field() already checks if the pointer is null (all-zero). Two of its callers (row_merge_copy_blobs() and row_sel_fetch_columns()) are never executed as READ COMMITTED and can rightfully assert that the fetch succeeded. The third caller, row_sel_store_mysql_rec(), already does the right thing. The calls in row_upd_ext_fetch() and trx_undo_page_fetch_ext() must expect that the off-page column exists. Update and rollback are locking operations, never READ UNCOMMITTED.
-
Marko Mäkelä authored
-
- 25 Oct, 2010 2 commits
-
-
Jimmy Yang authored
Approved by Sunny Bains
-
Jimmy Yang authored
Approved by Sunny Bains
-
- 21 Oct, 2010 2 commits
-
-
Jimmy Yang authored
index or foreign key Approved by Sunny Bains
-
Jimmy Yang authored
or foreign key Fix approved by Sunny Bains
-
- 19 Oct, 2010 1 commit
-
-
Marko Mäkelä authored
row_search_for_mysql(): When a secondary index record might not be visible in the current transaction's read view and we consult the clustered index and optionally some undo log records, return the relevant columns of the clustered index record to MySQL instead of the secondary index record. ibuf_insert_to_index_page_low(): New function, refactored from ibuf_insert_to_index_page(). ibuf_insert_to_index_page(): When we are inserting a record in place of a delete-marked record and some fields of the record differ, update that record just like row_ins_sec_index_entry_by_modify() would do. btr_cur_update_alloc_zip(): Make the function public. mysql_row_templ_t: Add clust_rec_field_no. row_sel_store_mysql_rec(), row_sel_push_cache_row_for_mysql(): Add the flag rec_clust, for returning data at clust_rec_field_no instead of rec_field_no. Resurrect the debug assertion that the record not be marked for deletion. (Bug #55626) [UNIV_DEBUG || UNIV_IBUF_DEBUG] ibuf_debug, buf_page_get_gen(), buf_flush_page_try(): Implement innodb_change_buffering_debug=1 for evicting pages from the buffer pool, so that change buffering will be attempted more frequently.
-
- 18 Oct, 2010 1 commit
-
-
Vasil Dimov authored
This is a merge from 5.1/builtin to 5.1/plugin of: -------------- revision-id: vasil.dimov@oracle.com-20101018104811-nwqhg9vav17kl5s1 committer: Vasil Dimov <vasil.dimov@oracle.com> timestamp: Mon 2010-10-18 13:48:11 +0300 message: Fix Bug#57252 disabling innobase_stats_on_metadata disables ANALYZE In order to fix this bug we need to distinguish whether ha_innobase::info() has been called from ::analyze() or not. Rename ::info() to ::info_low() and add a boolean parameter that tells whether the call is from ::analyze() or not. Create a new simple ::info() that just calls ::info_low(false => not called from analyze). From ::analyze() instead of ::info() call ::info_low(true => called from analyze). Approved by: Jimmy (rb://487) --------------
-
- 15 Oct, 2010 3 commits
-
-
Vasil Dimov authored
It was added in jimmy.yang@oracle.com-20100902004302-m5ax9qo0ne2msdfx
-
Vasil Dimov authored
-
Vasil Dimov authored
-
- 14 Oct, 2010 1 commit
-
-
Jimmy Yang authored
rb://483 approved by Inaam
-
- 11 Oct, 2010 3 commits
-
-
karen.langford@oracle.com authored
-
Jimmy Yang authored
with concurrent lock/unlock tables Approved by Marko
-
Marko Mäkelä authored
row_create_table_for_mysql(): When the table creation fails, free the dict_table_t object.
-
- 06 Oct, 2010 1 commit
-
-
Jimmy Yang authored
rb://477 approved by Marko
-
- 04 Oct, 2010 1 commit
-
-
Marko Mäkelä authored
row_search_for_mysql(): Acquire an intention lock on the table before locking the first record gap.
-
- 07 Sep, 2010 1 commit
-
-
Jimmy Yang authored
-
- 24 Aug, 2010 1 commit
-
-
Marko Mäkelä authored
dict_update_statistics_low(): Create bogus statistics for those indexes that cannot be accessed because of the innodb_force_recovery setting. ha_innobase::info(): Calculate statistics for each index, even if innodb_force_recovery is set. Fill in bogus data for those indexes that are not accessed because of the innodb_force_recovery setting.
-
- 04 Aug, 2010 1 commit
-
-
Jimmy Yang authored
rb://399 approved by Sunny Bains
-