aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/plan/createplan.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2004-01-05 18:04:39 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2004-01-05 18:04:39 +0000
commit5c74ce23db52ec862b9f35cfa5f6b327820dda47 (patch)
tree4fc58b16fa517e704b76c89eed4f451a2de6c2a4 /src/backend/optimizer/plan/createplan.c
parentcce442da6d6c047b9b86133eb449d3cfbb0fa713 (diff)
downloadpostgresql-5c74ce23db52ec862b9f35cfa5f6b327820dda47.tar.gz
postgresql-5c74ce23db52ec862b9f35cfa5f6b327820dda47.zip
Improve UniquePath logic to detect the case where the input is already
known unique (eg, it is a SELECT DISTINCT ... subquery), and not do a redundant unique-ification step.
Diffstat (limited to 'src/backend/optimizer/plan/createplan.c')
-rw-r--r--src/backend/optimizer/plan/createplan.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c
index d20b967b05c..ace9029ce68 100644
--- a/src/backend/optimizer/plan/createplan.c
+++ b/src/backend/optimizer/plan/createplan.c
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/optimizer/plan/createplan.c,v 1.162 2004/01/05 05:07:35 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/optimizer/plan/createplan.c,v 1.163 2004/01/05 18:04:38 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -605,10 +605,14 @@ create_unique_plan(Query *root, UniquePath *best_path)
subplan->targetlist = newtlist;
}
+ /* Done if we don't need to do any actual unique-ifying */
+ if (best_path->umethod == UNIQUE_PATH_NOOP)
+ return subplan;
+
/* Copy tlist again to make one we can put sorting labels on */
my_tlist = copyObject(subplan->targetlist);
- if (best_path->use_hash)
+ if (best_path->umethod == UNIQUE_PATH_HASH)
{
long numGroups;