_SPI_cursor_operation forgot to check for failure return from

_SPI_begin_call.  Per gripe from Tomasz Myrta.
This commit is contained in:
Tom Lane 2003-09-23 15:11:33 +00:00
parent 5a5f0a6168
commit 267924ead8
1 changed files with 9 additions and 4 deletions

View File

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/spi.c,v 1.104 2003/09/16 00:50:09 tgl Exp $ * $Header: /cvsroot/pgsql/src/backend/executor/spi.c,v 1.105 2003/09/23 15:11:33 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -1270,7 +1270,8 @@ _SPI_cursor_operation(Portal portal, bool forward, int count,
elog(ERROR, "invalid portal in SPI cursor operation"); elog(ERROR, "invalid portal in SPI cursor operation");
/* Push the SPI stack */ /* Push the SPI stack */
_SPI_begin_call(true); if (_SPI_begin_call(true) < 0)
elog(ERROR, "SPI cursor operation called while not connected");
/* Reset the SPI result */ /* Reset the SPI result */
SPI_processed = 0; SPI_processed = 0;
@ -1320,8 +1321,7 @@ _SPI_procmem()
} }
/* /*
* _SPI_begin_call * _SPI_begin_call: begin a SPI operation within a connected procedure
*
*/ */
static int static int
_SPI_begin_call(bool execmem) _SPI_begin_call(bool execmem)
@ -1338,6 +1338,11 @@ _SPI_begin_call(bool execmem)
return 0; return 0;
} }
/*
* _SPI_end_call: end a SPI operation within a connected procedure
*
* Note: this currently has no failure return cases, so callers don't check
*/
static int static int
_SPI_end_call(bool procmem) _SPI_end_call(bool procmem)
{ {