From 7d715ba063294138e3f3dc4e277772a92407ed75 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
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 bf8494c18cb..0dd1e9907a8 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;
 }
 
 
-- 
GitLab