1 | /*------------------------------------------------------------------------- |
2 | * |
3 | * pg_lsn.h |
4 | * Declarations for operations on log sequence numbers (LSNs) of |
5 | * PostgreSQL. |
6 | * |
7 | * |
8 | * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group |
9 | * Portions Copyright (c) 1994, Regents of the University of California |
10 | * |
11 | * src/include/utils/pg_lsn.h |
12 | * |
13 | *------------------------------------------------------------------------- |
14 | */ |
15 | #ifndef PG_LSN_H |
16 | #define PG_LSN_H |
17 | |
18 | #include "fmgr.h" |
19 | #include "access/xlogdefs.h" |
20 | |
21 | #define DatumGetLSN(X) ((XLogRecPtr) DatumGetInt64(X)) |
22 | #define LSNGetDatum(X) (Int64GetDatum((int64) (X))) |
23 | |
24 | #define PG_GETARG_LSN(n) DatumGetLSN(PG_GETARG_DATUM(n)) |
25 | #define PG_RETURN_LSN(x) return LSNGetDatum(x) |
26 | |
27 | extern XLogRecPtr pg_lsn_in_internal(const char *str, bool *have_error); |
28 | |
29 | #endif /* PG_LSN_H */ |
30 | |