From 7d715ba063294138e3f3dc4e277772a92407ed75 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 16 Jan 2000 08:21:59 +0000 Subject: [PATCH] Fix broken FOR UPDATE error message. --- src/backend/parser/analyze.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c index bf8494c18c..0dd1e9907a 100644 --- a/src/backend/parser/analyze.c +++ b/src/backend/parser/analyze.c @@ -5,7 +5,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: analyze.c,v 1.129 2000/01/15 02:59:31 petere Exp $ + * $Id: analyze.c,v 1.130 2000/01/16 08:21:59 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1573,14 +1573,16 @@ transformForUpdate(Query *qry, List *forUpdate) foreach(l, forUpdate) { + char *relname = lfirst(l); List *l2; - List *l3; i = 1; foreach(l2, qry->rtable) { - if (strcmp(((RangeTblEntry *) lfirst(l2))->refname, lfirst(l)) == 0) + if (strcmp(((RangeTblEntry *) lfirst(l2))->refname, relname) == 0) { + List *l3; + foreach(l3, rowMark) { if (((RowMark *) lfirst(l3))->rti == i) /* duplicate */ @@ -1598,11 +1600,11 @@ transformForUpdate(Query *qry, List *forUpdate) i++; } if (l2 == NULL) - elog(ERROR, "FOR UPDATE: relation %s not found in FROM clause", strVal(lfirst(l))); + elog(ERROR, "FOR UPDATE: relation %s not found in FROM clause", + relname); } qry->rowMark = rowMark; - return; } -- 2.40.0