* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: relation.h,v 1.69 2002/11/24 21:52:15 tgl Exp $
+ * $Id: relation.h,v 1.70 2002/11/27 20:52:04 tgl Exp $
*
*-------------------------------------------------------------------------
*/
RelOptKind reloptkind;
/* all relations included in this RelOptInfo */
- Relids relids; /* integer list of base relids (RT
+ Relids relids; /* integer list of base relids (rangetable
* indexes) */
/* size estimates generated by planner */
/*
* Type "Path" is used as-is for sequential-scan paths. For other
* path types it is the first component of a larger struct.
+ *
+ * Note: "pathtype" is the NodeTag of the Plan node we could build from this
+ * Path. It is partially redundant with the Path's NodeTag, but allows us
+ * to use the same Path type for multiple Plan types where there is no need
+ * to distinguish the Plan type during path processing.
*/
typedef struct Path
* fetched) */
NodeTag pathtype; /* tag identifying scan/join method */
- /* XXX why is pathtype separate from the NodeTag? */
List *pathkeys; /* sort ordering of path's output */
/* pathkeys is a List of Lists of PathKeyItem nodes; see above */
typedef struct TidPath
{
Path path;
- List *tideval;
+ List *tideval; /* qual(s) involving CTID = something */
Relids unjoined_relids; /* some rels not yet part of my Path */
} TidPath;