Re: Question about "Unrecognized SPI code" ...

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Question about "Unrecognized SPI code" ...
Дата
Msg-id 11181.1109097182@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Question about "Unrecognized SPI code" ...  (Hans-Jürgen Schönig <postgres@cybertec.at>)
Список pgsql-hackers
Hans-Jürgen Schönig <postgres@cybertec.at> writes:
> ERROR:  SPI_execute_plan failed executing query "INSERT INTO 
> view_nonsense VALUES (10, 20)": Unrecognized SPI code 0
> CONTEXT:  PL/pgSQL function "debug" line 4 at SQL statement

> SPI_result_code_string(int code) and PL/pgSQL don't seem to be aware of 
> DO NOTHING rules.

Hmm.  What's happening is that _SPI_execute_plan() initializes its local
result variable to 0, and then that ends up getting returned because the
execute-one-query loop executes zero times.  Since 0 isn't a defined SPI
result code, this seems bad.

The question is what to return instead.  Of the currently defined SPI
result codes, SPI_OK_UTILITY seems the closest, but it implies that
something happened when nothing did.  Is it worth inventing a new
result code SPI_OK_NOTHING (or similar) to describe this case?  That
would possibly imply changing a lot of SPI-using code to handle the
new result alternative.
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Get rid of system attributes in pg_attribute?
Следующее
От: Andreas Pflug
Дата:
Сообщение: Re: Get rid of system attributes in pg_attribute?