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

Reply via email to