SPI_cursor_parse_open

SPI_cursor_parse_open — configura um cursor usando uma cadeia de caracteres de consulta e parâmetros

Sinopse

Portal SPI_cursor_parse_open(const char *name,
                             const char *command,
                             const SPIParseOpenOptions * options)

Descrição

A função SPI_cursor_parse_open configura um cursor (internamente, um portal) que executa a cadeia de caracteres de consulta especificada. É comparável à função SPI_prepare_cursor seguida por SPI_cursor_open_with_paramlist, exceto que as referências a parâmetros dentro da cadeia de caracteres da consulta são tratadas fornecendo um objeto ParamListInfo.

Para a execução de uma única consulta, deve ser preferida esta função com relação a SPI_prepare_cursor seguida por SPI_cursor_open_with_paramlist. Se o mesmo comando for executado com muitos parâmetros diferentes, qualquer um dos métodos poderá ser mais rápido, dependendo do custo do replanejamento versus o benefício dos planos personalizados.

O objeto options->params deve normalmente marcar cada parâmetro com o sinalizador PARAM_FLAG_CONST, já que é sempre usado um plano único para a consulta.

Os dados dos parâmetros passados são copiados para o portal do cursor, para poderem ser liberados enquanto o cursor ainda existir.

Argumentos

const char * name

nome para o portal, ou NULL para permitir que o sistema selecione o nome

const char * command

cadeia de caracteres de comando

const SPIParseOpenOptions * options

estrutura contendo argumentos opcionais

Os chamadores devem sempre zerar toda a estrutura de options e, em seguida, preencher os campos que desejam definir. Isto garante a compatibilidade futura do código, uma vez que quaisquer campos adicionados à estrutura no futuro serão definidos para se comportarem de maneira compatível com versões anteriores se forem zero. Os campos de options disponíveis no momento são:

ParamListInfo params

estrutura de dados contendo os tipos de dados e valores dos parâmetros; NULL se nenhum

int cursorOptions

número inteiro, máscara de bits das opções do cursor; zero produz o comportamento padrão

bool read_only

true para execução de leitura-apenas

Valor retornado

Ponteiro para o portal que contém o cursor. Note não haver convenção de retorno de erro; qualquer erro será relatado via elog.