77 * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
88 * Portions Copyright (c) 1994, Regents of the University of California
99 *
10- * $Id: relation.h,v 1.69 2002/11/24 21 :52:15 tgl Exp $
10+ * $Id: relation.h,v 1.70 2002/11/27 20 :52:04 tgl Exp $
1111 *
1212 *-------------------------------------------------------------------------
1313 */
@@ -171,7 +171,7 @@ typedef struct RelOptInfo
171171 RelOptKind reloptkind ;
172172
173173 /* all relations included in this RelOptInfo */
174- Relids relids ; /* integer list of base relids (RT
174+ Relids relids ; /* integer list of base relids (rangetable
175175 * indexes) */
176176
177177 /* size estimates generated by planner */
@@ -304,6 +304,11 @@ typedef struct PathKeyItem
304304/*
305305 * Type "Path" is used as-is for sequential-scan paths. For other
306306 * path types it is the first component of a larger struct.
307+ *
308+ * Note: "pathtype" is the NodeTag of the Plan node we could build from this
309+ * Path. It is partially redundant with the Path's NodeTag, but allows us
310+ * to use the same Path type for multiple Plan types where there is no need
311+ * to distinguish the Plan type during path processing.
307312 */
308313
309314typedef struct Path
@@ -319,7 +324,6 @@ typedef struct Path
319324 * fetched) */
320325
321326 NodeTag pathtype ; /* tag identifying scan/join method */
322- /* XXX why is pathtype separate from the NodeTag? */
323327
324328 List * pathkeys ; /* sort ordering of path's output */
325329 /* pathkeys is a List of Lists of PathKeyItem nodes; see above */
@@ -373,7 +377,7 @@ typedef struct IndexPath
373377typedef struct TidPath
374378{
375379 Path path ;
376- List * tideval ;
380+ List * tideval ; /* qual(s) involving CTID = something */
377381 Relids unjoined_relids ; /* some rels not yet part of my Path */
378382} TidPath ;
379383
0 commit comments