Commit b48d0c64 authored by marko's avatar marko

branches/zip: trx_undo_prev_version_build(): Remove the unnecessary

and incorrect "BLOB bug fix" that was suggested by Heikki.  Explain in
a comment why no such fix is needed.
parent bddb5a0c
...@@ -1464,20 +1464,18 @@ trx_undo_prev_version_build( ...@@ -1464,20 +1464,18 @@ trx_undo_prev_version_build(
is less than purge_sys->view, and it is not delete-marked, is less than purge_sys->view, and it is not delete-marked,
then the BLOBs in that version are known to exist (the purge then the BLOBs in that version are known to exist (the purge
cannot have purged the BLOBs referenced by that version cannot have purged the BLOBs referenced by that version
yet). */ yet).
#if 0 /* This may cause a failure in row_vers_impl_x_locked_off_kernel(). */ This function does not fetch any BLOBs. The callers might, by
if ((info_bits & REC_INFO_DELETED_FLAG) possibly invoking row_ext_create() via row_build(). However,
&& !trx_purge_update_undo_must_exist(trx_id)) { they should have all needed information in the *old_vers
returned by this function. This is because *old_vers is based
/* The purge may have already freed the externally on the transaction undo log records. The function
stored fields associated with this update undo log trx_undo_page_fetch_ext() will write BLOB prefixes to the
record. Do not try to fetch them, as our read view transaction undo log that are at least as long as the longest
would see this row version as delete-marked anyway. */ possible column prefix in a secondary index. Thus, secondary
index entries for *old_vers can be constructed without
return(DB_SUCCESS); dereferencing any BLOB pointers. */
}
#endif
ptr = trx_undo_rec_skip_row_ref(ptr, index); ptr = trx_undo_rec_skip_row_ref(ptr, index);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment