aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer')
-rw-r--r--src/backend/optimizer/path/allpaths.c14
-rw-r--r--src/backend/optimizer/plan/createplan.c9
2 files changed, 9 insertions, 14 deletions
diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c
index 118a701e346..1c53c8e9f5c 100644
--- a/src/backend/optimizer/path/allpaths.c
+++ b/src/backend/optimizer/path/allpaths.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.106 2003/08/04 02:40:00 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.107 2003/08/11 20:46:46 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -726,8 +726,7 @@ qual_is_pushdown_safe(Query *subquery, Index rti, Node *qual,
foreach(vl, vars)
{
Var *var = (Var *) lfirst(vl);
- List *tl;
- TargetEntry *tle = NULL;
+ TargetEntry *tle;
Assert(var->varno == rti);
@@ -748,13 +747,8 @@ qual_is_pushdown_safe(Query *subquery, Index rti, Node *qual,
}
/* Must find the tlist element referenced by the Var */
- foreach(tl, subquery->targetList)
- {
- tle = (TargetEntry *) lfirst(tl);
- if (tle->resdom->resno == var->varattno)
- break;
- }
- Assert(tl != NIL);
+ tle = get_tle_by_resno(subquery->targetList, var->varattno);
+ Assert(tle != NULL);
Assert(!tle->resdom->resjunk);
/* If subquery uses DISTINCT or DISTINCT ON, check point 3 */
diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c
index 8abcfc576c1..2f7fd02fb4b 100644
--- a/src/backend/optimizer/plan/createplan.c
+++ b/src/backend/optimizer/plan/createplan.c
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/createplan.c,v 1.153 2003/08/08 21:41:48 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/createplan.c,v 1.154 2003/08/11 20:46:46 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -28,6 +28,7 @@
#include "optimizer/restrictinfo.h"
#include "optimizer/tlist.h"
#include "optimizer/var.h"
+#include "parser/parsetree.h"
#include "parser/parse_clause.h"
#include "parser/parse_expr.h"
#include "utils/lsyscache.h"
@@ -626,8 +627,8 @@ create_unique_plan(Query *root, UniquePath *best_path)
{
TargetEntry *tle;
- tle = nth(groupColIdx[groupColPos] - 1, my_tlist);
- Assert(tle->resdom->resno == groupColIdx[groupColPos]);
+ tle = get_tle_by_resno(my_tlist, groupColIdx[groupColPos]);
+ Assert(tle != NULL);
sortList = addTargetToSortList(NULL, tle, sortList,
my_tlist, NIL, false);
}
@@ -1975,7 +1976,7 @@ make_sort_from_groupcols(Query *root,
foreach(i, groupcls)
{
GroupClause *grpcl = (GroupClause *) lfirst(i);
- TargetEntry *tle = nth(grpColIdx[grpno] - 1, sub_tlist);
+ TargetEntry *tle = get_tle_by_resno(sub_tlist, grpColIdx[grpno]);
Resdom *resdom = tle->resdom;
/*