aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/util/relnode.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2003-02-15 20:12:41 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2003-02-15 20:12:41 +0000
commit056467ec6bcbd81a9d1480af8d641946a5ef1bff (patch)
tree9bcbdc5f6443cc045783a0e712fbab572eff0952 /src/backend/optimizer/util/relnode.c
parent50c4190e370a66bc8c52a0985cebf5560b28b058 (diff)
downloadpostgresql-056467ec6bcbd81a9d1480af8d641946a5ef1bff.tar.gz
postgresql-056467ec6bcbd81a9d1480af8d641946a5ef1bff.zip
Teach planner how to propagate pathkeys from sub-SELECTs in FROM up to
the outer query. (The implementation is a bit klugy, but it would take nontrivial restructuring to make it nicer, which this is probably not worth.) This avoids unnecessary sort steps in examples like SELECT foo,count(*) FROM (SELECT ... ORDER BY foo,bar) sub GROUP BY foo which means there is now a reasonable technique for controlling the order of inputs to custom aggregates, even in the grouping case.
Diffstat (limited to 'src/backend/optimizer/util/relnode.c')
-rw-r--r--src/backend/optimizer/util/relnode.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/optimizer/util/relnode.c b/src/backend/optimizer/util/relnode.c
index 5b875dfe155..af44cb7f206 100644
--- a/src/backend/optimizer/util/relnode.c
+++ b/src/backend/optimizer/util/relnode.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/relnode.c,v 1.47 2003/02/08 20:20:55 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/relnode.c,v 1.48 2003/02/15 20:12:40 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -381,11 +381,11 @@ new_join_tlist(List *tlist,
foreach(i, tlist)
{
- TargetEntry *xtl = lfirst(i);
+ TargetEntry *tle = lfirst(i);
resdomno += 1;
t_list = lappend(t_list,
- create_tl_element(get_expr(xtl), resdomno));
+ create_tl_element((Var *) tle->expr, resdomno));
}
return t_list;