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 intNIndexTupleInserted;
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 intNIndexTupleInserted;
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 intNIndexTupleInserted;
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 intNIndexTupleInserted;
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 intNIndexTupleInserted;
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 intNIndexTupleInserted;
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 intNIndexTupleInserted;
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