Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit55efc6f

Browse files
committed
Make itemsize calculation same in writetup_rum and readtup_rum
It was incorrectly set different RumSortSize vs RumScanSize
1 parentd9963d9 commit55efc6f

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

‎src/rumsort.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,11 +203,13 @@ copytup_rumitem(RumTuplesortstate * state, SortTuple *stup, void *tup)
203203
#defineLogicalTapeReadExact_compat(state,LT_ARG,args...) LogicalTapeReadExact(state->tapeset, LT_ARG, ##args)
204204
#endif
205205

206+
#defineITEMSIZE(is_scanitem) is_scanitem ? sizeof(RumScanItem) : RumSortItemSize(state->nKeys);
207+
206208
staticvoid
207209
writetup_rum_internal(RumTuplesortstate*state,LT_TYPELT_ARG,SortTuple*stup,boolis_item)
208210
{
209-
RumSortItem*item= (RumSortItem*)stup->tuple;
210-
size_tsize=is_item ?sizeof(*item) :RumSortItemSize(state->nKeys);
211+
void*item=stup->tuple;
212+
size_tsize=ITEMSIZE(is_item);
211213
unsignedintwrittenlen=size+sizeof(unsignedint);
212214

213215
LogicalTapeWrite(TAPE(state,LT_ARG),
@@ -239,7 +241,7 @@ readtup_rum_internal(RumTuplesortstate * state, SortTuple *stup,
239241
LT_TYPELT_ARG,unsignedintlen,boolis_item)
240242
{
241243
unsignedinttuplen=len-sizeof(unsignedint);
242-
size_tsize=is_item ?sizeof(RumScanItem) :RumSortItemSize(state->nKeys);
244+
size_tsize=ITEMSIZE(is_item);
243245
void*item=palloc(size);
244246

245247
Assert(tuplen==RumSortItemSize(state->nKeys));

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp