SPI_execute_plan — ejecuta una sentencia preparada por SPI_prepare
int SPI_execute_plan(SPIPlanPtrplan, Datum *values, const char *nulls, boolread_only, longcount)
SPI_execute_plan ejecuta una sentencia preparada por
SPI_prepare o una de sus funciones hermanas.
read_only y
count tienen la misma interpretación que en
SPI_execute.
SPIPlanPtr plan
sentencia preparada (devuelta por SPI_prepare)
Datum * valuesUn array de valores reales de los parámetros. Debe tener la misma longitud que el número de argumentos de la sentencia.
const char * nullsUn array que describe qué parámetros son nulos. Debe tener la misma longitud que el número de argumentos de la sentencia.
Si nulls es NULL, entonces
SPI_execute_plan asume que ningún parámetro
es nulo. De lo contrario, cada entrada del array nulls
debería ser ' ' si el valor del parámetro correspondiente
no es nulo, o 'n' si el valor del parámetro correspondiente
es nulo. (En este último caso, el valor real en la entrada correspondiente de
values no importa). Tenga en cuenta
que nulls no es una cadena de texto, solo un array:
no necesita un terminador '\0'.
bool read_onlytrue para una ejecución de solo lectura
long count
número máximo de filas a devolver,
o 0 para ilimitado
El valor de retorno es el mismo que para SPI_execute,
con los siguientes posibles resultados de error (negativos) adicionales:
SPI_ERROR_ARGUMENT
si plan es NULL o inválido,
o si count es menor que 0
SPI_ERROR_PARAM
si values es NULL y el
plan fue preparado con algunos parámetros
SPI_processed y
SPI_tuptable se establecen como en
SPI_execute en caso de éxito.