aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/executor/spi.c6
1 files changed, 6 insertions, 0 deletions
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);