PostgreSQL Source Code: src/include/access/xlogdefs.h Source File (original) (raw)

Go to the documentation of this file.

1

2

3

4

5

6

7

8

9

10

11

12#ifndef XLOG_DEFS_H

13#define XLOG_DEFS_H

14

15#include <fcntl.h>

16

17

18

19

20

22

23

24

25

26

27

28#define InvalidXLogRecPtr 0

29#define XLogRecPtrIsValid(r) ((r) != InvalidXLogRecPtr)

30#define XLogRecPtrIsInvalid(r) ((r) == InvalidXLogRecPtr)

31

32

33

34

35

36

37#define FirstNormalUnloggedLSN ((XLogRecPtr) 1000)

38

39

40

41

42

43

44

45

46

47#define LSN_FORMAT_ARGS(lsn) (AssertVariableIsOfTypeMacro((lsn), XLogRecPtr), (uint32) ((lsn) >> 32)), ((uint32) (lsn))

48

49

50

51

53

54

55

56

57

58

59

60

61

62

64

65

66

67

68

70

71

72

73

74

75

76

77

78#if defined(PLATFORM_DEFAULT_WAL_SYNC_METHOD)

79#define DEFAULT_WAL_SYNC_METHOD PLATFORM_DEFAULT_WAL_SYNC_METHOD

80#elif defined(O_DSYNC) && (!defined(O_SYNC) || O_DSYNC != O_SYNC)

81#define DEFAULT_WAL_SYNC_METHOD WAL_SYNC_METHOD_OPEN_DSYNC

82#else

83#define DEFAULT_WAL_SYNC_METHOD WAL_SYNC_METHOD_FDATASYNC

84#endif

85

86#endif