diff options
Diffstat (limited to 'src/include/utils/rangetypes.h')
-rw-r--r-- | src/include/utils/rangetypes.h | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/include/utils/rangetypes.h b/src/include/utils/rangetypes.h index 993fad4fc2..661e4892ec 100644 --- a/src/include/utils/rangetypes.h +++ b/src/include/utils/rangetypes.h @@ -68,11 +68,26 @@ typedef struct } RangeBound; /* - * fmgr macros for range type objects + * fmgr functions for range type objects */ -#define DatumGetRangeTypeP(X) ((RangeType *) PG_DETOAST_DATUM(X)) -#define DatumGetRangeTypePCopy(X) ((RangeType *) PG_DETOAST_DATUM_COPY(X)) -#define RangeTypePGetDatum(X) PointerGetDatum(X) +static inline RangeType * +DatumGetRangeTypeP(Datum X) +{ + return (RangeType *) PG_DETOAST_DATUM(X); +} + +static inline RangeType * +DatumGetRangeTypePCopy(Datum X) +{ + return (RangeType *) PG_DETOAST_DATUM_COPY(X); +} + +static inline Datum +RangeTypePGetDatum(const RangeType *X) +{ + return PointerGetDatum(X); +} + #define PG_GETARG_RANGE_P(n) DatumGetRangeTypeP(PG_GETARG_DATUM(n)) #define PG_GETARG_RANGE_P_COPY(n) DatumGetRangeTypePCopy(PG_GETARG_DATUM(n)) #define PG_RETURN_RANGE_P(x) return RangeTypePGetDatum(x) |