SPI_modifytuple

Nom

SPI_modifytuple -- crée une ligne en remplaçant les champs sélectionnés d'une ligne donnée

Synopsis

HeapTuple SPI_modifytuple(Relation rel, HeapTuple
ligne, ncols,
nocolonne, Datum * valeurs, const
char * nulls)

Description

SPI_modifytuple crée une nouvelle ligne en retirant les nouvelles valeurs pour les colonnes sélectionnées et en copiant les colonnes de la ligne d'origine à d'autres positions. La ligne d'entrée n'est pas modifiée.

Arguments

Relation rel

Utilisé seulement en tant que source du descripteur de ligne pour la ligne. (Passer une relation plutôt qu'un descripteur de ligne est une erreur.)

HeapTuple ligne

rangée à modifier

int ncols

nombre de numéros de colonnes dans le tableau nocolonne

int * nocolonne

tableau des numéros des colonnes à modifier (le numéro des colonnes commence à 1)

Datum * valeurs

nouvelles valeurs pour les colonnes spécifiées

const char * Nulls

quelles nouvelles valeurs sont null, si elles existent (voir SPI_executeplan pour le format)

Valeur de retour

nouvelle ligne avec modifications, allouée dans le contexte de mémoire courant ; NULL seulement si ligne est NULL

En cas d'erreur, SPI_result est positionné comme suit :

SPI_ERROR_ARGUMENT

si rel est NULL ou si ligne est NULL ou si ncols est inférieur ou égal à 0 ou si nocolonne est NULL ou si valeurs est NULL.

SPI_ERROR_NOATTRIBUTE

si nocolonne contient un numéro de colonne invalide (inférieur ou égal à 0 ou supérieur au numéro de colonne dans ligne)