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 代表单个命令,并且该命令向调用者
返回元组;例如,允许
SELECT,除非它包含一个
INTO 子句;
UPDATE 只有在包含
RETURNING
子句时才被允许。
SPIPlanPtr plan
预备语句(由
SPI_prepare 返回)
用
true 或
false 指示
plan 能否产生游标,
此时
SPI_result 被设为零。
如果无法确定答案(例如,
如果
plan 为
NULL 或无效,
或在未连接到 SPI 时被调用),
那么
SPI_result 会被设为一个合适的错误代码,
并返回
false。