diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2023-02-13 09:50:14 +0100 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2023-02-13 09:57:15 +0100 |
commit | bd944884e92af7082063428a1124a15041597c33 (patch) | |
tree | 4692f84a6e7987ea59c47f9ebf485771ef7ae6b1 /src | |
parent | 7da51590ed6cd46ff886e8e4d08e8703db9c2b5b (diff) | |
download | postgresql-bd944884e92af7082063428a1124a15041597c33.tar.gz postgresql-bd944884e92af7082063428a1124a15041597c33.zip |
Consolidate ItemPointer to Datum conversion functions
Instead of defining the same set of macros several times, define it
once in an appropriate header file. In passing, convert to inline
functions.
Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi>
Discussion: https://www.postgresql.org/message-id/flat/844dd4c5-e5a1-3df1-bfaf-d1e1c2a16e45%40enterprisedb.com
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/utils/adt/tid.c | 5 | ||||
-rw-r--r-- | src/include/storage/itemptr.h | 20 |
2 files changed, 20 insertions, 5 deletions
diff --git a/src/backend/utils/adt/tid.c b/src/backend/utils/adt/tid.c index 251219a1ef2..77fb74ab0c1 100644 --- a/src/backend/utils/adt/tid.c +++ b/src/backend/utils/adt/tid.c @@ -37,11 +37,6 @@ #include "utils/varlena.h" -#define DatumGetItemPointer(X) ((ItemPointer) DatumGetPointer(X)) -#define ItemPointerGetDatum(X) PointerGetDatum(X) -#define PG_GETARG_ITEMPOINTER(n) DatumGetItemPointer(PG_GETARG_DATUM(n)) -#define PG_RETURN_ITEMPOINTER(x) return ItemPointerGetDatum(x) - #define LDELIM '(' #define RDELIM ')' #define DELIM ',' diff --git a/src/include/storage/itemptr.h b/src/include/storage/itemptr.h index 354e50e68be..fafefa14cd8 100644 --- a/src/include/storage/itemptr.h +++ b/src/include/storage/itemptr.h @@ -222,4 +222,24 @@ extern int32 ItemPointerCompare(ItemPointer arg1, ItemPointer arg2); extern void ItemPointerInc(ItemPointer pointer); extern void ItemPointerDec(ItemPointer pointer); +/* ---------------- + * Datum conversion functions + * ---------------- + */ + +static inline ItemPointer +DatumGetItemPointer(Datum X) +{ + return (ItemPointer) DatumGetPointer(X); +} + +static inline Datum +ItemPointerGetDatum(const ItemPointerData *X) +{ + return PointerGetDatum(X); +} + +#define PG_GETARG_ITEMPOINTER(n) DatumGetItemPointer(PG_GETARG_DATUM(n)) +#define PG_RETURN_ITEMPOINTER(x) return ItemPointerGetDatum(x) + #endif /* ITEMPTR_H */ |