/*------------------------------------------------------------------------- * * pg_lsn.h * Declarations for operations on log sequence numbers (LSNs) of * PostgreSQL. * * * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/pg_lsn.h * *------------------------------------------------------------------------- */ #ifndef PG_LSN_H #define PG_LSN_H #include "access/xlogdefs.h" #include "fmgr.h" static inline XLogRecPtr DatumGetLSN(Datum X) { return (XLogRecPtr) DatumGetInt64(X); } static inline Datum LSNGetDatum(XLogRecPtr X) { return Int64GetDatum((int64) X); } #define PG_GETARG_LSN(n) DatumGetLSN(PG_GETARG_DATUM(n)) #define PG_RETURN_LSN(x) return LSNGetDatum(x) extern XLogRecPtr pg_lsn_in_internal(const char *str, bool *have_error); #endif /* PG_LSN_H */