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).