@@ -24,8 +24,8 @@ namespace NKikimr::NTable::NPage {
24
24
TBtreeIndexNode page binary layout
25
25
- TLabel - page label
26
26
- THeader - page header
27
- - TKey[N] - keys data <-- var-size
28
27
- TPgSize[N] - keys offsets
28
+ - TKey[N] - keys data <-- var-size
29
29
- TChild[N+1] - children
30
30
*/
31
31
@@ -118,7 +118,8 @@ namespace NKikimr::NTable::NPage {
118
118
119
119
TString ToString () const noexcept
120
120
{
121
- return TStringBuilder () << " PageId: " << PageId << " Count: " << Count << " Size: " << Size ;
121
+ // copy values to prevent 'reference binding to misaligned address' error
122
+ return TStringBuilder () << " PageId: " << TPageId (PageId) << " Count: " << TRowId (Count) << " Size: " << ui64 (Size );
122
123
}
123
124
} Y_PACKED;
124
125
@@ -137,12 +138,12 @@ namespace NKikimr::NTable::NPage {
137
138
Keys.Count = header->KeysCount ;
138
139
size_t offset = sizeof (THeader);
139
140
140
- Keys.Base = Raw.data ();
141
- offset += header->KeysSize ;
142
-
143
141
Keys.Offsets = TDeref<const TRecordsEntry>::At (header, offset);
144
142
offset += Keys.Count * sizeof (TRecordsEntry);
145
143
144
+ Keys.Base = Raw.data ();
145
+ offset += header->KeysSize ;
146
+
146
147
Children = TDeref<const TChild>::At (header, offset);
147
148
offset += (1 + Keys.Count ) * sizeof (TChild);
148
149
@@ -177,4 +178,7 @@ namespace NKikimr::NTable::NPage {
177
178
const TChild* Children;
178
179
};
179
180
181
+ struct TBtreeIndexMeta : public TBtreeIndexNode ::TChild {
182
+ size_t LevelsCount;
183
+ };
180
184
}
0 commit comments