Re: Bug in documentation: https://www.postgresql.org/docs/current/spi-examples.html
От | David G. Johnston |
---|---|
Тема | Re: Bug in documentation: https://www.postgresql.org/docs/current/spi-examples.html |
Дата | |
Msg-id | CAKFQuwbN7gzyEh-LBkXh+68xH8NS3QumYG8Tj6XVzG6zDvSuWg@mail.gmail.com обсуждение исходный текст |
Ответ на | Bug in documentation: https://www.postgresql.org/docs/current/spi-examples.html (Curt Kolovson <ckolovson@gmail.com>) |
Ответы |
Re: Bug in documentation: https://www.postgresql.org/docs/current/spi-examples.html
Re: Bug in documentation: https://www.postgresql.org/docs/current/spi-examples.html |
Список | pgsql-docs |
On Mon, Jul 17, 2023 at 4:53 PM Curt Kolovson <ckolovson@gmail.com> wrote:
The actual results (shown below) are different than shown on this doc
page. The reason is because the second parameter to the UDF that is
passed to SPI_exec is the maximum number of rows to return, or 0 for
no limit. It is not the maximum number of rows to process. In the case
of "SELECT execq('INSERT INTO a SELECT x + 2 FROM a', 1)", it returned
0 rows, but it inserted (processed) 2 rows. This example should be
corrected.
db=# SELECT execq('INSERT INTO a SELECT x + 2 FROM a', 1);
execq
-------
2
(1 row)
SPI_exec sees "INSERT 0 2" as the command tag from the SQL command you passed and so 2 is the output of the execq function call.
No INFO messages appear because you did not include a returning clause. The 1 you passed to the call is immaterial if the query you supply doesn't produce a result set.
David J.
В списке pgsql-docs по дате отправления: