Hello, All.
In current trunk if next page is already full, ppg_min_space got frozen,
causin
unnecessary loops in locate_space(). Following patch fix that:
Index: dpm.epp
===================================================================
--- dpm.epp (revision 60270)
+++ dpm.epp (working copy)
@@ -3363,8 +3363,11 @@
if (flags & dpg_full)
{
*byte |= bit;
- if (slot == ppage->ppg_min_space)
+ while (slot <= ppage->ppg_min_space &&
+ PPG_DP_BIT_TEST((UCHAR*)
&ppage->ppg_page[dbb->dbb_dp_per_pp], ppage->ppg_min_space,
ppg_dp_full))
+ {
ppage->ppg_min_space++;
+ }
}
else
{
--
WBR, SD.
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel