Re: Bug in documentation: https://www.postgresql.org/docs/current/spi-examples.html
David G. Johnston <david.g.johnston@gmail.com>
From: "David G. Johnston" <david.g.johnston@gmail.com>
To: Curt Kolovson <ckolovson@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-docs@lists.postgresql.org
Date: 2023-07-18T03:13:41Z
Lists: pgsql-docs
On Mon, Jul 17, 2023 at 7:45 PM Curt Kolovson <ckolovson@gmail.com> wrote:
> I’d vote for showing both (with RETURNING and without), since without it
> the second argument to SPI_exec has no effect in this example, which may
> not be obvious. That seems to be one of the subtle points illustrated by
> this example.
>
I concur:
=> SELECT execq('CREATE TABLE a (x integer)', 0); // start at 0
=> INSERT INTO a VALUES (execq('INSERT INTO a VALUES (0)', 0)); // insert 2
=> SELECT execq('SELECT * FROM a', 0);
+ => SELECT execq('INSERT INTO a SELECT x + 2 FROM a returning x', 1); --
one more
+ -- (IIUC non-deterministically regardless of observed behavior even if
there were a limit in the SELECT)
=> SELECT execq('INSERT INTO a SELECT x + 2 FROM a', 1); // three more
=> SELECT execq('SELECT * FROM a', 10); // 6 as 10 is a limit
...[next block]
David J.
Commits
-
Doc: fix out-of-date example of SPI usage.
- f9278cb0ae94 15.4 landed
- e6e451c1d7e5 16.0 landed
- df73e8bad6e4 11.21 landed
- dc2d9efcb47e 13.12 landed
- 2e9135b94093 14.9 landed
- 137b131d6fbd 17.0 landed
- 04911fa767fd 12.16 landed
-
Fix SPI documentation for new handling of ExecutorRun's count parameter.
- 2ddc600f8f02 9.3.0 cited