From: <hv...@us...> - 2015-03-18 17:26:59
|
Revision: 61005 http://sourceforge.net/p/firebird/code/61005 Author: hvlad Date: 2015-03-18 17:26:56 +0000 (Wed, 18 Mar 2015) Log Message: ----------- Fixed bug CORE-4713 : "BLOB not found" error at rollback after insert into table with expression index Modified Paths: -------------- firebird/trunk/src/jrd/vio.cpp Modified: firebird/trunk/src/jrd/vio.cpp =================================================================== --- firebird/trunk/src/jrd/vio.cpp 2015-03-18 17:22:48 UTC (rev 61004) +++ firebird/trunk/src/jrd/vio.cpp 2015-03-18 17:26:56 UTC (rev 61005) @@ -475,8 +475,8 @@ DPM_backout_mark(tdbb, rpb, transaction); RecordStack empty_staying; + IDX_garbage_collect(tdbb, rpb, going, empty_staying); BLB_garbage_collect(tdbb, going, empty_staying, rpb->rpb_page, relation); - IDX_garbage_collect(tdbb, rpb, going, empty_staying); going.pop(); if (!DPM_get(tdbb, rpb, LCK_write)) @@ -512,8 +512,8 @@ rpb->rpb_prior = NULL; list_staying(tdbb, rpb, staying); + IDX_garbage_collect(tdbb, rpb, going, staying); BLB_garbage_collect(tdbb, going, staying, rpb->rpb_page, relation); - IDX_garbage_collect(tdbb, rpb, going, staying); if (going.hasData()) going.pop(); @@ -4454,8 +4454,8 @@ JRD_reschedule(tdbb, 0, true); } + IDX_garbage_collect(tdbb, rpb, going, staying); BLB_garbage_collect(tdbb, going, staying, prior_page, rpb->rpb_relation); - IDX_garbage_collect(tdbb, rpb, going, staying); clearRecordStack(going); } @@ -4495,8 +4495,8 @@ going.push(old_data ? old_data : org_rpb->rpb_record); + IDX_garbage_collect(tdbb, org_rpb, going, staying); BLB_garbage_collect(tdbb, going, staying, org_rpb->rpb_page, org_rpb->rpb_relation); - IDX_garbage_collect(tdbb, org_rpb, going, staying); going.pop(); @@ -5902,8 +5902,8 @@ RecordStack going; going.push(org_rpb->rpb_record); + IDX_garbage_collect(tdbb, org_rpb, going, staying); BLB_garbage_collect(tdbb, going, staying, org_rpb->rpb_page, relation); - IDX_garbage_collect(tdbb, org_rpb, going, staying); staying.pop(); clearRecordStack(staying); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |