Re: About the return states of SPI_execute for plpy.execute().status() - Mailing list pgsql-docs

From Euler Taveira
Subject Re: About the return states of SPI_execute for plpy.execute().status()
Date
Msg-id a3e40711-51a2-4421-834f-d7c072a057ee@www.fastmail.com
Whole thread Raw
In response to About the return states of SPI_execute for plpy.execute().status()  (PG Doc comments form <noreply@postgresql.org>)
Responses Re: Re: About the return states of SPI_execute for plpy.execute().status()
List pgsql-docs
On Mon, Feb 15, 2021, at 12:25 PM, PG Doc comments form wrote:
Hello. I'm using Postgres 9.3.25. I know it's an unsupported version but the
documentation pages that I will mention stay the same between 9.3 and 13.
You should upgrade as soon as possible.

In the docs for Database Access with PL/Python [1] it is mentioned that for
the result object of plpy.execute(), the function status() can be called and
it returns "The SPI_execute() return value". However when testing it the
status function returns a number. In the specific test I made it returns
"11". The problem is that the SPI_execute() documentation [2] does not
mention which numeric constant each return code is assigned to. I would
expect that the number 11 maps to the 11th code in the Return Value list,
but only 10 non-negative values are listed. I think the PL/Python can be
more explicit about the meaning of the status() return value. I have not
read the whole PL/Python documentation yet, but if there is any resource
that maps the raw integer that status() returns to the correct code for the
SPI_execute() return value, it would be very helpful to mention it in the
status() documentation.
It is referring to the SPI_execute() return values [1] whose mapped integers      
are available in [2]. 11 refers to INSERT ... RETURNING. Maybe PL/Python should
expose these SPI constants too (if it doesn't).




--
Euler Taveira

pgsql-docs by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: CREATE TABLE typo
Next
From: Tom Lane
Date:
Subject: Re: Re: About the return states of SPI_execute for plpy.execute().status()