SPI_is_cursor_plan

SPI_is_cursor_plan — devuelve true si una sentencia preparada por SPI_prepare se puede utilizar con SPI_cursor_open

Synopsis

bool SPI_is_cursor_plan(SPIPlanPtr plan)

Descripción

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.

Argumentos

SPIPlanPtr plan

sentencia preparada (devuelta por SPI_prepare)

Valor de retorno

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.