SPI_is_cursor_plan — devuelve true si una sentencia
preparada por SPI_prepare se puede utilizar con
SPI_cursor_open
bool SPI_is_cursor_plan(SPIPlanPtr plan)
SPI_is_cursor_plan devuelve true
si una sentencia preparada por SPI_prepare se puede pasar
como argumento a SPI_cursor_open, o
false si ese no es el caso. Los criterios son que el
plan represente una sola consulta y que esta
consulta devuelva tuplas al llamador; por ejemplo, SELECT
está permitido a menos que contenga una cláusula INTO, y
UPDATE está permitido solo si contiene una cláusula RETURNING.
SPIPlanPtr plan
sentencia preparada (devuelta por SPI_prepare)
true o false para indicar si el
plan puede producir un cursor o no, con
SPI_result establecido en cero.
Si no es posible determinar la respuesta (por ejemplo,
si el plan es NULL o inválido,
o si se llama cuando no está conectado a SPI), entonces
SPI_result se establece en un código de error adecuado
y se devuelve false.