PostgreSQL Source Code: src/include/nodes/memnodes.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef MEMNODES_H

15#define MEMNODES_H

16

18

19

20

21

22

23

24

25

26

27

28

30{

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

55 const char *stats_string,

56 bool print_to_stderr);

57

59{

60

61

62

63

64

65

67

68

69 void (*free_p) (void *pointer);

70

71

72

73

74

75

76 void *(*realloc) (void *pointer, Size size, int flags);

77

78

79

80

81

82

84

85

87

88

90

91

92

93

94

96

97

98

99

100

105 bool print_to_stderr);

106#ifdef MEMORY_CONTEXT_CHECKING

107

108

109

110

111

113#endif

115

116

118{

119 pg_node_attr(abstract)

120

121 NodeTag type;

122

123 bool isReset;

131 const char *name;

132 const char *ident;

135

136

137

138

139

140

141

142

143

144

145#define MemoryContextIsValid(context) \

146 ((context) != NULL && \

147 (IsA((context), AllocSetContext) || \

148 IsA((context), SlabContext) || \

149 IsA((context), GenerationContext) || \

150 IsA((context), BumpContext)))

151

152#endif

void(* MemoryStatsPrintFunc)(MemoryContext context, void *passthru, const char *stats_string, bool print_to_stderr)

struct MemoryContextMethods MemoryContextMethods

struct MemoryContextCounters MemoryContextCounters

struct MemoryContextData MemoryContextData

struct MemoryContextData * MemoryContext

MemoryContextCallback * reset_cbs

const MemoryContextMethods * methods

pg_node_attr(abstract) NodeTag type

void(* delete_context)(MemoryContext context)

void(* stats)(MemoryContext context, MemoryStatsPrintFunc printfunc, void *passthru, MemoryContextCounters *totals, bool print_to_stderr)

void(* free_p)(void *pointer)

bool(* is_empty)(MemoryContext context)

void(* reset)(MemoryContext context)

MemoryContext(* get_chunk_context)(void *pointer)

Size(* get_chunk_space)(void *pointer)