summaryrefslogtreecommitdiff
path: root/src/include/nodes/parsenodes.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2005-06-05 22:32:58 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2005-06-05 22:32:58 +0000
commit9ab4d98168407c3436d3f0e02d32720b0d9075a0 (patch)
tree3572d316a54a99512277ead2ad757032998b2839 /src/include/nodes/parsenodes.h
parent22dbd540478517ff6c55381ae7ce07a3a2e64474 (diff)
Remove planner's private fields from Query struct, and put them into
a new PlannerInfo struct, which is passed around instead of the bare Query in all the planning code. This commit is essentially just a code-beautification exercise, but it does open the door to making larger changes to the planner data structures without having to muck with the widely-known Query struct.
Diffstat (limited to 'src/include/nodes/parsenodes.h')
-rw-r--r--src/include/nodes/parsenodes.h18
1 files changed, 4 insertions, 14 deletions
diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h
index 9a525eb1de0..04b32082ebf 100644
--- a/src/include/nodes/parsenodes.h
+++ b/src/include/nodes/parsenodes.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/nodes/parsenodes.h,v 1.280 2005/06/05 00:38:10 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/nodes/parsenodes.h,v 1.281 2005/06/05 22:32:57 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -62,8 +62,9 @@ typedef uint32 AclMode; /* a bitmask of privilege bits */
* Query -
* all statements are turned into a Query tree (via transformStmt)
* for further processing by the optimizer
- * utility statements (i.e. non-optimizable statements)
- * have the *utilityStmt field set.
+ *
+ * utility statements (i.e. non-optimizable statements) have the
+ * utilityStmt field set, and the Query itself is mostly dummy.
*/
typedef struct Query
{
@@ -121,17 +122,6 @@ typedef struct Query
* ought to go in some sort of TopPlan plan node, not in the Query.
*/
List *resultRelations; /* integer list of RT indexes, or NIL */
-
- /* internal to planner */
- List *base_rel_list; /* list of base-relation RelOptInfos */
- List *other_rel_list; /* list of other 1-relation RelOptInfos */
- List *join_rel_list; /* list of join-relation RelOptInfos */
- List *equi_key_list; /* list of lists of equijoined
- * PathKeyItems */
- List *in_info_list; /* list of InClauseInfos */
- List *query_pathkeys; /* desired pathkeys for query_planner() */
- bool hasJoinRTEs; /* true if any RTEs are RTE_JOIN kind */
- bool hasHavingQual; /* true if havingQual was non-null */
} Query;