2021年2月5日(金) 11:38 sasa su <i...@sasa.su>: > Hi. > > When running a query with a not exist table in SPI_exec. the process exit > with -1 in SPI_exec function. > the error code SPI_ERROR_REL_NOT_FOUND never return. > > I made a minimal reproduction code in > https://github.com/Sasasu/worker_spi_table_not_exist > > The core code is: > > int spi = SPI_exec("select * from not_exist_table", 0); > // can not reach here > Assert(spi == SPI_ERROR_REL_NOT_FOUND); >
The list of return codes returned by SPI_exec is here: https://www.postgresql.org/docs/current/spi-spi-execute.html and doesn't include "SPI_ERROR_REL_NOT_FOUND". The only function which does return that is SPI_unregister_relation, see: https://www.postgresql.org/docs/current/spi-spi-unregister-relation.html Regards Ian Barwick -- EnterpriseDB: https://www.enterprisedb.com