6
6
*
7
7
* Copyright (c) 1994, Regents of the University of California
8
8
*
9
- * $Id: execdebug.h,v 1.7 1999/02/13 23:21:22 momjian Exp $
9
+ * $Id: execdebug.h,v 1.8 1999/02/23 07:39:40 thomas Exp $
10
10
*
11
11
*-------------------------------------------------------------------------
12
12
*/
19
19
* debugging defines.
20
20
*
21
21
* If you want certain debugging behaviour, then #define
22
- * the variable to 1, else #undef it. -cim 10/26/89
22
+ * the variable to 1. No need to explicitly #undef by default,
23
+ * since we can use -D compiler options to enable features.
24
+ * - thomas 1999-02-20
23
25
* ----------------------------------------------------------------
24
26
*/
25
27
28
30
* will print a message every time we call ExecStoreTuple.
29
31
* -cim 3/20/91
30
32
* ----------------
31
- */
32
33
#undef EXEC_DEBUGSTORETUP
34
+ */
33
35
34
36
/* ----------------
35
37
* EXEC_TUPLECOUNT is a #define which causes the
38
40
* you might want to undefine this if you are doing work
39
41
* on the decs - cim 10/20/89
40
42
* ----------------
41
- */
42
43
#undef EXEC_TUPLECOUNT
44
+ */
43
45
44
46
/* ----------------
45
47
* EXEC_SHOWBUFSTATS controls whether or not buffer statistics
46
48
* are shown for each query. -cim 2/9/89
47
49
* ----------------
48
- */
49
50
#undef EXEC_SHOWBUFSTATS
51
+ */
50
52
51
53
/* ----------------
52
54
* EXEC_CONTEXTDEBUG turns on the printing of debugging information
53
55
* by CXT_printf() calls regarding which memory context is the
54
56
* CurrentMemoryContext for palloc() calls.
55
57
* ----------------
56
- */
57
58
#undef EXEC_CONTEXTDEBUG
59
+ */
58
60
59
61
/* ----------------
60
62
* EXEC_RETURNSIZE is a compile flag governing the
72
74
* the first few bytes of the data so again, it's
73
75
* not likely to matter.
74
76
* ----------------
75
- */
76
77
#undef EXEC_RETURNSIZE
78
+ */
77
79
78
80
/* ----------------
79
81
* EXEC_UTILSDEBUG is a flag which turns on debugging of the
80
82
* executor utilities by EU_printf() in eutils.c
81
83
* ----------------
82
- */
83
84
#undef EXEC_UTILSDEBUG
85
+ */
84
86
85
87
/* ----------------
86
88
* EXEC_NESTLOOPDEBUG is a flag which turns on debugging of the
87
89
* nest loop node by NL_printf() and ENL_printf() in nestloop.c
88
90
* ----------------
89
- */
90
91
#undef EXEC_NESTLOOPDEBUG
92
+ */
91
93
92
94
/* ----------------
93
95
* EXEC_PROCDEBUG is a flag which turns on debugging of
94
96
* ExecProcNode() by PN_printf() in procnode.c
95
97
* ----------------
96
- */
97
98
#undef EXEC_PROCDEBUG
99
+ */
98
100
99
101
/* ----------------
100
102
* EXEC_EVALDEBUG is a flag which turns on debugging of
101
103
* ExecEval and ExecTargetList() stuff by EV_printf() in qual.c
102
104
* ----------------
103
- */
104
105
#undef EXEC_EVALDEBUG
106
+ */
105
107
106
108
/* ----------------
107
109
* EXEC_SCANDEBUG is a flag which turns on debugging of
108
110
* the ExecSeqScan() stuff by S_printf() in seqscan.c
109
111
* ----------------
110
- */
111
112
#undef EXEC_SCANDEBUG
113
+ */
112
114
113
115
/* ----------------
114
116
* EXEC_SORTDEBUG is a flag which turns on debugging of
115
117
* the ExecSort() stuff by SO_printf() in sort.c
116
118
* ----------------
117
- */
118
119
#undef EXEC_SORTDEBUG
120
+ */
119
121
120
122
/* ----------------
121
123
* EXEC_MERGEJOINDEBUG is a flag which turns on debugging of
122
124
* the ExecMergeJoin() stuff by MJ_printf() in mergejoin.c
123
125
* ----------------
124
- */
125
126
#undef EXEC_MERGEJOINDEBUG
127
+ */
126
128
127
129
/* ----------------
128
130
* EXEC_MERGEJOINPFREE is a flag which causes merge joins
131
133
* at the cost of doing deallocation of stuff only at the
132
134
* end of the transaction
133
135
* ----------------
134
- */
135
136
#undef EXEC_MERGEJOINPFREE
137
+ */
136
138
137
139
/* ----------------
138
140
* EXEC_DEBUGINTERACTIVE is a flag which enables the
139
141
* user to issue "DEBUG" commands from an interactive
140
142
* backend.
141
143
* ----------------
142
- */
143
144
#undef EXEC_DEBUGINTERACTIVE
145
+ */
144
146
145
147
/* ----------------
146
148
* EXEC_DEBUGVARIABLEFILE is string, which if defined will
155
157
* they can't affect the first query.. this hack should be
156
158
* replaced by something better sometime. -cim 11/2/89
157
159
* ----------------
158
- */
159
160
#undef EXEC_DEBUGVARIABLEFILE
161
+ */
160
162
161
163
/* ----------------------------------------------------------------
162
164
* #defines controlled by above definitions
@@ -221,7 +223,7 @@ extern int NIndexTupleInserted;
221
223
* ----------------
222
224
*/
223
225
#ifdef EXEC_UTILSDEBUG
224
- #define EU_nodeDisplay (l ) nodeDisplay(l, 0 )
226
+ #define EU_nodeDisplay (l ) nodeDisplay(l)
225
227
#define EU_printf (s ) printf(s)
226
228
#define EU1_printf (s , a ) printf(s, a)
227
229
#define EU2_printf (s , a ) printf(s, a, b)
@@ -242,7 +244,7 @@ extern int NIndexTupleInserted;
242
244
* ----------------
243
245
*/
244
246
#ifdef EXEC_NESTLOOPDEBUG
245
- #define NL_nodeDisplay (l ) nodeDisplay(l, 0 )
247
+ #define NL_nodeDisplay (l ) nodeDisplay(l)
246
248
#define NL_printf (s ) printf(s)
247
249
#define NL1_printf (s , a ) printf(s, a)
248
250
#define NL4_printf (s , a , b , c , d ) printf(s, a, b, c, d)
@@ -272,7 +274,7 @@ extern int NIndexTupleInserted;
272
274
* ----------------
273
275
*/
274
276
#ifdef EXEC_EVALDEBUG
275
- #define EV_nodeDisplay (l ) nodeDisplay(l, 0 )
277
+ #define EV_nodeDisplay (l ) nodeDisplay(l)
276
278
#define EV_printf (s ) printf(s)
277
279
#define EV1_printf (s , a ) printf(s, a)
278
280
#define EV5_printf (s , a , b , c , d , e ) printf(s, a, b, c, d, e)
@@ -288,7 +290,7 @@ extern int NIndexTupleInserted;
288
290
* ----------------
289
291
*/
290
292
#ifdef EXEC_SCANDEBUG
291
- #define S_nodeDisplay (l ) nodeDisplay(l, 0 )
293
+ #define S_nodeDisplay (l ) nodeDisplay(l)
292
294
#define S_printf (s ) printf(s)
293
295
#define S1_printf (s , p ) printf(s, p)
294
296
#else
@@ -302,7 +304,7 @@ extern int NIndexTupleInserted;
302
304
* ----------------
303
305
*/
304
306
#ifdef EXEC_SORTDEBUG
305
- #define SO_nodeDisplay (l ) nodeDisplay(l, 0 )
307
+ #define SO_nodeDisplay (l ) nodeDisplay(l)
306
308
#define SO_printf (s ) printf(s)
307
309
#define SO1_printf (s , p ) printf(s, p)
308
310
#else
@@ -316,11 +318,14 @@ extern int NIndexTupleInserted;
316
318
* ----------------
317
319
*/
318
320
#ifdef EXEC_MERGEJOINDEBUG
319
- #define MJ_nodeDisplay (l ) nodeDisplay(l, 0)
321
+
322
+ #include "nodes/print.h"
323
+
324
+ #define MJ_nodeDisplay (l ) nodeDisplay(l)
320
325
#define MJ_printf (s ) printf(s)
321
326
#define MJ1_printf (s , p ) printf(s, p)
322
327
#define MJ2_printf (s , p1 , p2 ) printf(s, p1, p2)
323
- #define MJ_debugtup (tuple , type ) debugtup(tuple, type)
328
+ #define MJ_debugtup (tuple , type ) debugtup(tuple, type, NULL )
324
329
#define MJ_dump (context , state ) ExecMergeTupleDump(econtext, state)
325
330
#define MJ_DEBUG_QUAL (clause , res ) \
326
331
MJ2_printf(" ExecQual(%s, econtext) returns %s\n", \
@@ -349,27 +354,6 @@ extern int NIndexTupleInserted;
349
354
* DO NOT DEFINE THESE EVER OR YOU WILL BURN!
350
355
* ----------------------------------------------------------------
351
356
*/
352
- /* ----------------
353
- * DOESNOTWORK is currently placed around memory manager
354
- * code that is known to cause problems. Code in between
355
- * is likely not converted and probably won't work anyways.
356
- * ----------------
357
- */
358
- #undef DOESNOTWORK
359
-
360
- /* ----------------
361
- * PERHAPSNEVER is placed around the "scan attribute"
362
- * support code for the rule manager because for now we
363
- * do things inefficiently. The correct solution to our
364
- * problem is to add code to the parser/planner to save
365
- * attribute information for the rule manager rather than
366
- * have the executor have to grope through the entire plan
367
- * for it so if we ever decide to make things better,
368
- * we should probably delete the stuff in between PERHAPSNEVER..
369
- * ----------------
370
- */
371
- #undef PERHAPSNEVER
372
-
373
357
/* ----------------
374
358
* NOTYET is placed around any code not yet implemented
375
359
* in the executor. Only remove these when actually implementing
0 commit comments