aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2005-12-14 16:30:20 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2005-12-14 16:30:20 +0000
commitec8c876bdee1375d44a86c35df6124acecf42d4d (patch)
tree5f896c78fca126698c967f5bf1a994a88a5ea441 /src
parent4138c3833d86e29df7010fd733ecdf4c2ec7dd0b (diff)
downloadpostgresql-ec8c876bdee1375d44a86c35df6124acecf42d4d.tar.gz
postgresql-ec8c876bdee1375d44a86c35df6124acecf42d4d.zip
Fix a *different* problem with whole-row Vars afflicting 8.0 branch.
This is a back-port of a fix made to markTargetListOrigin() on 2005-04-25.
Diffstat (limited to 'src')
-rw-r--r--src/backend/parser/parse_target.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/parser/parse_target.c b/src/backend/parser/parse_target.c
index ebba3e868f1..a6b1edbe48d 100644
--- a/src/backend/parser/parse_target.c
+++ b/src/backend/parser/parse_target.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/parse_target.c,v 1.129 2005/01/13 17:19:09 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/parse_target.c,v 1.129.4.1 2005/12/14 16:30:20 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -209,8 +209,9 @@ markTargetListOrigin(ParseState *pstate, Resdom *res, Var *var, int levelsup)
res->resorigcol = attnum;
break;
case RTE_SUBQUERY:
+ /* Subselect-in-FROM: copy up from the subselect */
+ if (attnum != InvalidAttrNumber)
{
- /* Subselect-in-FROM: copy up from the subselect */
TargetEntry *te = get_tle_by_resno(rte->subquery->targetList,
attnum);
@@ -222,8 +223,9 @@ markTargetListOrigin(ParseState *pstate, Resdom *res, Var *var, int levelsup)
}
break;
case RTE_JOIN:
+ /* Join RTE --- recursively inspect the alias variable */
+ if (attnum != InvalidAttrNumber)
{
- /* Join RTE --- recursively inspect the alias variable */
Var *aliasvar;
Assert(attnum > 0 && attnum <= list_length(rte->joinaliasvars));