mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-24 07:23: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:
parent
62cf72ccc2
commit
abdfa188d5
@ -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));
|
||||||
|
Loading…
Reference in New Issue
Block a user