1111 * Portions Copyright (c) 1994, Regents of the University of California
1212 *
1313 * IDENTIFICATION
14- * $PostgreSQL: pgsql/src/backend/optimizer/path/pathkeys.c,v 1.101 2010/02/26 02:00:45 momjian Exp $
14+ * $PostgreSQL: pgsql/src/backend/optimizer/path/pathkeys.c,v 1.102 2010/08/27 20:30:08 petere Exp $
1515 *
1616 *-------------------------------------------------------------------------
1717 */
@@ -629,12 +629,7 @@ convert_subquery_pathkeys(PlannerInfo *root, RelOptInfo *rel,
629629
630630 Assert (list_length (sub_eclass -> ec_members ) == 1 );
631631 sub_member = (EquivalenceMember * ) linitial (sub_eclass -> ec_members );
632- outer_expr = (Expr * )
633- makeVar (rel -> relid ,
634- tle -> resno ,
635- exprType ((Node * ) tle -> expr ),
636- exprTypmod ((Node * ) tle -> expr ),
637- 0 );
632+ outer_expr = (Expr * ) makeVarFromTargetEntry (rel -> relid , tle );
638633
639634 /*
640635 * Note: it might look funny to be setting sortref = 0 for a
@@ -712,12 +707,7 @@ convert_subquery_pathkeys(PlannerInfo *root, RelOptInfo *rel,
712707 if (equal (tle -> expr , sub_expr ))
713708 {
714709 /* Exact match */
715- outer_expr = (Expr * )
716- makeVar (rel -> relid ,
717- tle -> resno ,
718- exprType ((Node * ) tle -> expr ),
719- exprTypmod ((Node * ) tle -> expr ),
720- 0 );
710+ outer_expr = (Expr * ) makeVarFromTargetEntry (rel -> relid , tle );
721711 }
722712 else
723713 {
@@ -730,12 +720,7 @@ convert_subquery_pathkeys(PlannerInfo *root, RelOptInfo *rel,
730720 if (equal (tle_stripped , sub_stripped ))
731721 {
732722 /* Match after discarding RelabelType */
733- outer_expr = (Expr * )
734- makeVar (rel -> relid ,
735- tle -> resno ,
736- exprType ((Node * ) tle -> expr ),
737- exprTypmod ((Node * ) tle -> expr ),
738- 0 );
723+ outer_expr = (Expr * ) makeVarFromTargetEntry (rel -> relid , tle );
739724 if (exprType ((Node * ) outer_expr ) !=
740725 exprType ((Node * ) sub_expr ))
741726 outer_expr = (Expr * )
0 commit comments