SPI_execute_plan

Nom

SPI_execute_plan -- exécute un plan préparé par SPI_prepare

Synopsis

      int SPI_execute_plan(void * plan, Datum * valeurs, const char * nulls,
      bool read_only, int nombre)
    

Description

SPI_execute_plan exécute un plan préparé par SPI_prepare. read_only et count ont la même interprétation que dans SPI_execute.

Arguments

void * plan

plan d'exécution (retourné par SPI_prepare)

Datum *values

Un tableau des vraies valeurs des paramètres. Doit avoir la même longueur que le nombre d'arguments du plan.

const char * nulls

Un tableau décrivant les paramètres nuls. Doit avoir la même longueur que le nombre d'arguments du plan. n indique une valeur NULL (l'entrée correspondante dans valeurs sera ignorée) ; un espace indique une valeur non NULL (l'entrée correspondante dans valeurs est valide).

Si nulls est NULL, alors SPI_executeplan part du principe qu'aucun paramètre n'est nul.

bool read_only

true pour une exécution en lecture seule

int nombre

nombre maximum de lignes à traiter ou à renvoyer

Valeur de retour

La valeur de retour est la même que pour SPI_execute avec les résultats d'erreurs (négatif) possibles :

SPI_ERROR_ARGUMENT

si plan est NULL ou count est inférieur à 0

SPI_ERROR_PARAM

si values est NULL et plan est préparé avec des paramètres

SPI_processed et SPI_tuptable sont positionnés comme dans SPI_execute en cas de réussite.

Notes

Si l'un des objets (une table, une fonction, etc.) référencés par le plan préparé est effacé pendant la session, alors le résultat de SPI_executeplan pour ce plan sera imprévisible.