@@ -299,22 +299,6 @@ typedef struct
299
299
#define RumPageGetIndexes (page ) \
300
300
((RumDataLeafItemIndex *)(RumDataPageGetData(page) + RumDataPageSize))
301
301
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
-
318
302
/*
319
303
* Storage type for RUM's reloptions
320
304
*/
@@ -781,6 +765,41 @@ extern Datum rum_ts_distance(PG_FUNCTION_ARGS);
781
765
/* GUC parameters */
782
766
extern PGDLLIMPORT int RumFuzzySearchLimit ;
783
767
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
+
784
803
/*
785
804
* Functions for reading ItemPointers with additional information. Used in
786
805
* various .c files and have to be inline for being fast.
0 commit comments