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). [1] https://www.postgresql.org/docs/9.3/spi-spi-execute.html [2] https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/include/executor/spi.h;h=81310e377f6b769c5aa306cf9aab932813dbeef8;hb=refs/heads/REL9_3_STABLE#l47 -- Euler Taveira EDB https://www.enterprisedb.com/