8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-02-02 10:00:38 +01:00

Small optimization by Dimitry Sibiryakov:

set ppg_min_space to the next really non-full slot when current ppg_min_space slot is marked as full.
This commit is contained in:
hvlad 2014-11-21 12:23:19 +00:00
parent e8658272ee
commit f5e1502b63

View File

@ -3364,7 +3364,15 @@ static void mark_full(thread_db* tdbb, record_param* rpb)
{
*byte |= bit;
if (slot == ppage->ppg_min_space)
ppage->ppg_min_space++;
{
const UCHAR* bits = (UCHAR*)&ppage->ppg_page[dbb->dbb_dp_per_pp];
while (ppage->ppg_min_space < ppage->ppg_count)
{
ppage->ppg_min_space++;
if (!PPG_DP_BIT_TEST(bits, ppage->ppg_min_space, ppg_dp_full))
break;
}
}
}
else
{