Re: SPI: process exit in SPI_exec when table not exist. error code not return. - Mailing list pgsql-hackers

From Ian Lawrence Barwick
Subject Re: SPI: process exit in SPI_exec when table not exist. error code not return.
Date
Msg-id CAB8KJ=j5Mr4MSyWeLOtfXjZmSiKFg6oPBbE85vAeux2DMFU=WA@mail.gmail.com
Whole thread Raw
List pgsql-hackers
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:


and doesn't include "SPI_ERROR_REL_NOT_FOUND". The only
function which does return that is SPI_unregister_relation, see:



Regards

Ian Barwick


--

pgsql-hackers by date:

Previous
From: "Huang, Qiuyan"
Date:
Subject: RE: Determine parallel-safety of partition relations for Inserts
Next
From: Ian Lawrence Barwick
Date:
Subject: Re: psql tab completion for CREATE DATABASE ... LOCALE