diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-06-10 03:32:25 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-06-10 03:32:25 +0000 |
commit | a87ee007edfa3d71e31cea4adad396888adbcd5a (patch) | |
tree | c2eeadb582711700d0de21d01ab3a994f8bfb716 /src/backend/optimizer/plan/planmain.c | |
parent | 453d74b99c9ba6e5e75d214b0d7bec13553ded89 (diff) | |
download | postgresql-a87ee007edfa3d71e31cea4adad396888adbcd5a.tar.gz postgresql-a87ee007edfa3d71e31cea4adad396888adbcd5a.zip |
Quick hack to allow the outer query's tuple_fraction to be passed down
to a subquery if the outer query is simple enough that the LIMIT can
be reflected directly to the subquery. This didn't use to be very
interesting, because a subquery that couldn't have been flattened into
the upper query was usually not going to be very responsive to
tuple_fraction anyway. But with new code that allows UNION ALL subqueries
to pay attention to tuple_fraction, this is useful to do. In particular
this lets the optimization occur when the UNION ALL is directly inside
a view.
Diffstat (limited to 'src/backend/optimizer/plan/planmain.c')
-rw-r--r-- | src/backend/optimizer/plan/planmain.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/backend/optimizer/plan/planmain.c b/src/backend/optimizer/plan/planmain.c index 50e1bc5ea8c..788fd2f3249 100644 --- a/src/backend/optimizer/plan/planmain.c +++ b/src/backend/optimizer/plan/planmain.c @@ -14,7 +14,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/optimizer/plan/planmain.c,v 1.84 2005/06/08 23:02:04 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/optimizer/plan/planmain.c,v 1.85 2005/06/10 03:32:23 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -79,6 +79,9 @@ query_planner(PlannerInfo *root, List *tlist, double tuple_fraction, Path *cheapestpath; Path *sortedpath; + /* Make tuple_fraction accessible to lower-level routines */ + root->tuple_fraction = tuple_fraction; + /* * If the query has an empty join tree, then it's something easy like * "SELECT 2+2;" or "INSERT ... VALUES()". Fall through quickly. |