Skip to content

Commit dbc2a08

Browse files
author
Artur Zakirov
committed
Replace macros with inline functions
1 parent 77724f3 commit dbc2a08

File tree

2 files changed

+35
-21
lines changed

2 files changed

+35
-21
lines changed

rum.h

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -299,22 +299,6 @@ typedef struct
299299
#define RumPageGetIndexes(page) \
300300
((RumDataLeafItemIndex *)(RumDataPageGetData(page) + RumDataPageSize))
301301

302-
/*
303-
* Macros to handle generic XLOG
304-
*/
305-
#define RumGenericXLogStart(index, isbuild) \
306-
(!(isbuild) ? GenericXLogStart(index) : NULL)
307-
308-
#define RumGenericXLogRegisterBuffer(state, buffer, flags, isbuild) \
309-
(!(isbuild) ? GenericXLogRegisterBuffer(state, buffer, flags) : \
310-
BufferGetPage(buffer))
311-
312-
#define RumGenericXLogFinish(state, isbuild) \
313-
(!(isbuild) ? GenericXLogFinish(state) : 0)
314-
315-
#define RumGenericXLogAbort(state, isbuild) \
316-
(!(isbuild) ? GenericXLogAbort(state) : (void) 0)
317-
318302
/*
319303
* Storage type for RUM's reloptions
320304
*/
@@ -781,6 +765,41 @@ extern Datum rum_ts_distance(PG_FUNCTION_ARGS);
781765
/* GUC parameters */
782766
extern PGDLLIMPORT int RumFuzzySearchLimit;
783767

768+
/*
769+
* Functions to handle generic XLOG
770+
*/
771+
static inline GenericXLogState *
772+
RumGenericXLogStart(Relation relation, bool isbuild)
773+
{
774+
if (!isbuild)
775+
return GenericXLogStart(relation);
776+
return NULL;
777+
}
778+
779+
static inline Page
780+
RumGenericXLogRegisterBuffer(GenericXLogState *state, Buffer buffer, int flags,
781+
bool isbuild)
782+
{
783+
if (!isbuild)
784+
return GenericXLogRegisterBuffer(state, buffer, flags);
785+
return BufferGetPage(buffer);
786+
}
787+
788+
static inline XLogRecPtr
789+
RumGenericXLogFinish(GenericXLogState *state, bool isbuild)
790+
{
791+
if (!isbuild)
792+
return GenericXLogFinish(state);
793+
return InvalidXLogRecPtr;
794+
}
795+
796+
static inline void
797+
RumGenericXLogAbort(GenericXLogState *state, bool isbuild)
798+
{
799+
if (!isbuild)
800+
GenericXLogAbort(state);
801+
}
802+
784803
/*
785804
* Functions for reading ItemPointers with additional information. Used in
786805
* various .c files and have to be inline for being fast.

rumget.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1605,8 +1605,6 @@ scanPage(RumState * rumstate, RumScanEntry entry, RumKey *item, Page page,
16051605
static void
16061606
entryFindItem(RumState * rumstate, RumScanEntry entry, RumKey * item)
16071607
{
1608-
Page page = NULL;
1609-
16101608
if (entry->nlist == 0)
16111609
{
16121610
entry->isFinished = TRUE;
@@ -1660,8 +1658,6 @@ entryFindItem(RumState * rumstate, RumScanEntry entry, RumKey * item)
16601658
entry->gdi->stack = rumReFindLeafPage(&entry->gdi->btree, entry->gdi->stack);
16611659
entry->buffer = entry->gdi->stack->buffer;
16621660

1663-
page = BufferGetPage(entry->buffer);
1664-
16651661
if (scanPage(rumstate, entry, item,
16661662
BufferGetPage(entry->buffer),
16671663
true))
@@ -1685,7 +1681,6 @@ entryFindItem(RumState * rumstate, RumScanEntry entry, RumKey * item)
16851681
}
16861682

16871683
entry->gdi->stack->blkno = BufferGetBlockNumber(entry->buffer);
1688-
page = BufferGetPage(entry->buffer);
16891684

16901685
if (scanPage(rumstate, entry, item,
16911686
BufferGetPage(entry->buffer),

0 commit comments

Comments
 (0)