PostgreSQL Source Code: src/include/utils/pg_lsn.h Source File

PostgreSQL Source Code git master
pg_lsn.h
Go to the documentation of this file.
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-2025, 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 "access/xlogdefs.h"
19#include "fmgr.h"
20
21/* forward declaration to avoid node.h include */
22 typedef struct Node Node;
23
24static inline XLogRecPtr
25 DatumGetLSN(Datum X)
26{
27 return (XLogRecPtr) DatumGetInt64(X);
28}
29
30static inline Datum
31 LSNGetDatum(XLogRecPtr X)
32{
33 return Int64GetDatum((int64) X);
34}
35
36 #define PG_GETARG_LSN(n) DatumGetLSN(PG_GETARG_DATUM(n))
37 #define PG_RETURN_LSN(x) return LSNGetDatum(x)
38
39extern XLogRecPtr pg_lsn_in_safe(const char *str, Node *escontext);
40
41#endif /* PG_LSN_H */
int64_t int64
Definition: c.h:535
const char * str
static Datum LSNGetDatum(XLogRecPtr X)
Definition: pg_lsn.h:31
static XLogRecPtr DatumGetLSN(Datum X)
Definition: pg_lsn.h:25
XLogRecPtr pg_lsn_in_safe(const char *str, Node *escontext)
Definition: pg_lsn.c:32
static Datum Int64GetDatum(int64 X)
Definition: postgres.h:403
static int64 DatumGetInt64(Datum X)
Definition: postgres.h:393
uint64_t Datum
Definition: postgres.h:70
Definition: nodes.h:135
uint64 XLogRecPtr
Definition: xlogdefs.h:21

AltStyle によって変換されたページ (->オリジナル) /