Documentation PostgreSQL 14.22 » Programmation serveur » Interface de programmation serveur » Fonctions d'interface » SPI_prepare_extended

Précédent | Niveau supérieur | Suivant
SPI_prepare_cursor | Sommaire | SPI_prepare_params

## SPI_prepare_extended

SPI_prepare_extended — prépare une instruction, sans l'exécuter tout de suite

## Synopsis

    SPIPlanPtr SPI_prepare_extended(const char * command,
                                    const SPIPrepareOptions * options)

## Description

`SPI_prepare_extended` crée et retourne une requête préparée pour une commande donnée, mais n'exécute pas la commande. Cette fonction est équivalente à `SPI_prepare`, avec en plus le fait que l'appelant peut spécifier des options pour contrôler l'analyse (« parsing ») des paramètres en référence externes, aussi bien que d'autres aspects de l'analyse et de la planification des requêtes.

## Arguments

`const char * `command``

  Chaîne de la commande

`const SPIPrepareOptions * `options``

  Structure contenant les arguments optionnels

Les codes appelants doivent toujours mettre à zéro la structure `options` entière, puis remplir les champs souhaités avec les valeurs à affecter. Ceci permet d'assurer une compatibilité ascendante du code, car tous les champs ajoutés à la structure dans le futur seront définis comme étant rétrocompatibles s'ils sont mis à zéro. Les champs de `options` actuellement disponibles sont :

`ParserSetupHook `parserSetup``

  Fonction de configuration de l'analyseur

`void * `parserSetupArg``

  Argument passé à `parserSetup`

`RawParseMode `parseMode``

  Mode pour l'analyse brute ; `RAW_PARSE_DEFAULT` (zéro) génère le comportement par défaut

`int `cursorOptions``

  Masque de bits des options du curseur, sous la forme d'un entier ; zéro indique le comportement par défaut

## Valeur retournée

`SPI_prepare_extended` a la même convention de retour que `SPI_prepare`.