From 3f6381d7e739603b6b242bd9f6d8fbaa7e8f4ce6 Mon Sep 17 00:00:00 2001
From: "Vadim B. Mikheev" <vadim4o@yahoo.com>
Date: Mon, 29 Sep 1997 06:28:45 +0000
Subject: [PATCH] Fix error indicator for SPI_getvalue() and SPI_getbinval()

---
 src/backend/executor/spi.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/backend/executor/spi.c b/src/backend/executor/spi.c
index 646cfca401a..16a8ee32128 100644
--- a/src/backend/executor/spi.c
+++ b/src/backend/executor/spi.c
@@ -414,7 +414,10 @@ SPI_getvalue(HeapTuple tuple, TupleDesc tupdesc, int fnumber)
 
 	SPI_result = 0;
 	if (tuple->t_natts < fnumber || fnumber <= 0)
+	{
+		SPI_result = SPI_ERROR_NOATTRIBUTE;
 		return (NULL);
+	}
 
 	val = heap_getattr(tuple, InvalidBuffer, fnumber, tupdesc, &isnull);
 	if (isnull)
@@ -437,7 +440,10 @@ SPI_getbinval(HeapTuple tuple, TupleDesc tupdesc, int fnumber, bool * isnull)
 	*isnull = true;
 	SPI_result = 0;
 	if (tuple->t_natts < fnumber || fnumber <= 0)
+	{
+		SPI_result = SPI_ERROR_NOATTRIBUTE;
 		return ((Datum) NULL);
+	}
 
 	val = heap_getattr(tuple, InvalidBuffer, fnumber, tupdesc, isnull);
 
-- 
GitLab