8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-24 04:03:03 +01:00

Preserve record's flags when gathering record from fragments. Its used in prepare_update() to check if primary record was backed out.

This commit is contained in:
hvlad 2010-01-19 18:38:52 +00:00
parent 62cf72ccc2
commit abdfa188d5

View File

@ -1096,6 +1096,7 @@ void VIO_data(thread_db* tdbb, record_param* rpb, MemoryPool* pool)
{ {
const ULONG back_page = rpb->rpb_b_page; const ULONG back_page = rpb->rpb_b_page;
const USHORT back_line = rpb->rpb_b_line; const USHORT back_line = rpb->rpb_b_line;
const USHORT flags = rpb->rpb_flags;
while (rpb->rpb_flags & rpb_incomplete) while (rpb->rpb_flags & rpb_incomplete)
{ {
DPM_fetch_fragment(tdbb, rpb, LCK_read); DPM_fetch_fragment(tdbb, rpb, LCK_read);
@ -1104,6 +1105,7 @@ void VIO_data(thread_db* tdbb, record_param* rpb, MemoryPool* pool)
} }
rpb->rpb_b_page = back_page; rpb->rpb_b_page = back_page;
rpb->rpb_b_line = back_line; rpb->rpb_b_line = back_line;
rpb->rpb_flags = flags;
} }
CCH_RELEASE(tdbb, &rpb->getWindow(tdbb)); CCH_RELEASE(tdbb, &rpb->getWindow(tdbb));