Hackers,

most places that use SPI_connect ... SPI_finish check the
return value of SPI_finish and elog if it failed.  There
are a few places that do not, and it is unclear to me
why this is safe.  SPI_finish appears to be needed to
clean up memory contexts.

Examples can be found in:
  src/backend/utils/adt/xml.c
  src/backend/utils/adt/tsvector_op.c
  src/backend/utils/adt/tsquery_rewrite.c
  src/test/regress/regress.c
  contrib/spi/refint.c

The return value of SPI_execute is ignored in one spot:
  src/backend/utils/adt/xml.c circa line 2465.

I checked the archives and did not see any discussion
about this in the past.  Please excuse me if this has
been asked before.




Reply via email to