SPI_is_cursor_plan — 如果一个由SPI_prepare
预备好
的语句可以用于SPI_cursor_open
则返回
true
bool SPI_is_cursor_plan(SPIPlanPtr plan
)
如果一个由SPI_prepare
预备好
的语句可以被作为一个参数传递给SPI_cursor_open
,
SPI_is_cursor_plan
会返回true
。
否则返回false
。原则是该
plan
表示一个单一命令并且这个命令向其调用者
返回元组。例如,只要不含INTO
子句,SELECT
就被允许,而只有包含一个RETURNING
子句时才允许
UPDATE
。
SPIPlanPtr plan
预备语句(由SPI_prepare
返回)
如果该plan
能产生一个游标则返回
true
,否则返回false
并且把SPI_result
设置为零。如果不可能决定答案
(例如,如果plan
为
NULL
或无效,或者在没有连接到 SPI 时调用),
那么SPI_result
会被设置为一个合适的错误码
并且返回false
。