Skip to content

Commit f72af11

Browse files
authored
KIKIMR-19522 BTreeIndex Charge Groups (#1224)
1 parent 0c915e6 commit f72af11

File tree

5 files changed

+442
-191
lines changed

5 files changed

+442
-191
lines changed

ydb/core/tablet_flat/flat_part_charge.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace NTable {
1616
using TDataPage = NPage::TDataPage;
1717
using TGroupId = NPage::TGroupId;
1818

19-
TCharge(IPages *env, const TPart &part, TTagsRef tags, bool includeHistory = false)
19+
TCharge(IPages *env, const TPart &part, TTagsRef tags, bool includeHistory)
2020
: Env(env)
2121
, Part(&part)
2222
, Scheme(*Part->Scheme)
@@ -326,7 +326,11 @@ namespace NTable {
326326
if (key1Page && key1Page == current) {
327327
if (needExactBounds && page) {
328328
auto key1RowId = LookupRowIdReverse(key1, page, Scheme.Groups[0], ESeek::Lower, keyDefaults);
329-
prechargeCurrentFirstRowId = Min(prechargeCurrentFirstRowId, key1RowId);
329+
if (key1RowId != Max<TRowId>()) { // Max<TRowId>() means that lower bound is before current page, so doesn't charge current page
330+
prechargeCurrentFirstRowId = Min(prechargeCurrentFirstRowId, key1RowId);
331+
} else {
332+
prechargeCurrentLastRowId = Max<TRowId>(); // no precharge
333+
}
330334
} else {
331335
prechargeCurrentLastRowId = Max<TRowId>(); // no precharge
332336
}

0 commit comments

Comments
 (0)