PostgreSQL Source Code: src/include/executor/execdebug.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17#ifndef EXECDEBUG_H

18#define EXECDEBUG_H

19

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62#define T_OR_F(b) ((b) ? "true" : "false")

63#define NULL_OR_TUPLE(slot) (TupIsNull(slot) ? "null" : "a tuple")

64

65

66

67

68

69#ifdef EXEC_NESTLOOPDEBUG

70#define NL_nodeDisplay(l) nodeDisplay(l)

71#define NL_printf(s) printf(s)

72#define NL1_printf(s, a) printf(s, a)

73#define ENL1_printf(message) printf("ExecNestLoop: %s\n", message)

74#else

75#define NL_nodeDisplay(l)

76#define NL_printf(s)

77#define NL1_printf(s, a)

78#define ENL1_printf(message)

79#endif

80

81

82

83

84

85#ifdef EXEC_SORTDEBUG

86#define SO_nodeDisplay(l) nodeDisplay(l)

87#define SO_printf(s) printf(s)

88#define SO1_printf(s, p) printf(s, p)

89#define SO2_printf(s, p1, p2) printf(s, p1, p2)

90#else

91#define SO_nodeDisplay(l)

92#define SO_printf(s)

93#define SO1_printf(s, p)

94#define SO2_printf(s, p1, p2)

95#endif

96

97

98

99

100

101#ifdef EXEC_MERGEJOINDEBUG

102

103#define MJ_nodeDisplay(l) nodeDisplay(l)

104#define MJ_printf(s) printf(s)

105#define MJ1_printf(s, p) printf(s, p)

106#define MJ2_printf(s, p1, p2) printf(s, p1, p2)

107#define MJ_debugtup(slot) debugtup(slot, NULL)

108#define MJ_dump(state) ExecMergeTupleDump(state)

109#define MJ_DEBUG_COMPARE(res) \

110 MJ1_printf(" MJCompare() returns %d\n", (res))

111#define MJ_DEBUG_QUAL(clause, res) \

112 MJ2_printf(" ExecQual(%s, econtext) returns %s\n", \

113 CppAsString(clause), T_OR_F(res))

114#define MJ_DEBUG_PROC_NODE(slot) \

115 MJ2_printf(" %s = ExecProcNode(...) returns %s\n", \

116 CppAsString(slot), NULL_OR_TUPLE(slot))

117#else

118

119#define MJ_nodeDisplay(l)

120#define MJ_printf(s)

121#define MJ1_printf(s, p)

122#define MJ2_printf(s, p1, p2)

123#define MJ_debugtup(slot)

124#define MJ_dump(state)

125#define MJ_DEBUG_COMPARE(res)

126#define MJ_DEBUG_QUAL(clause, res)

127#define MJ_DEBUG_PROC_NODE(slot)

128#endif

129

130#endif