SPI_execute_plan_with_paramlist
SPI_execute_plan_with_paramlist — выполнить оператор, подготовленный функцией SPI_prepare
Синтаксис
int SPI_execute_plan_with_paramlist(SPIPlanPtrplan
, ParamListInfoparams
, boolread_only
, longcount
)
Описание
SPI_execute_plan_with_paramlist
выполняет оператор, подготовленный функцией SPI_prepare
. Данная функция равнозначна SPI_execute_plan
, не считая того, что информация о значениях параметров, передаваемых запросу, представляется по-другому. Представление ParamListInfo
может быть удобным для передачи значений, уже имеющих нужный формат. Эта функция также поддерживает динамические наборы параметров, которые реализуются через функции-обработчики, устанавливаемые в ParamListInfo
.
Эта функция устарела, используйте вместо неё SPI_execute_plan_extended
.
Аргументы
SPIPlanPtr
plan
подготовленный оператор (возвращаемый функцией
SPI_prepare
)ParamListInfo
params
структура данных, содержащая типы и значения параметров; NULL, если их нет
bool
read_only
true
для режима выполнения «только чтение»long
count
максимальное число строк, которое должно быть возвращено; с
0
ограничения нет
Возвращаемое значение
Возвращаемые значения те же, что и у SPI_execute_plan
.
Переменные SPI_processed
и SPI_tuptable
устанавливаются как в SPI_execute_plan
, если вызов был успешным.
DISCARD
DISCARD — discard session state
Synopsis
DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
Description
DISCARD
releases internal resources associated with a database session. This command is useful for partially or fully resetting the session's state. There are several subcommands to release different types of resources; the DISCARD ALL
variant subsumes all the others, and also resets additional state.
Parameters
PLANS
Releases all cached query plans, forcing re-planning to occur the next time the associated prepared statement is used.
SEQUENCES
Discards all cached sequence-related state, including
currval()
/lastval()
information and any preallocated sequence values that have not yet been returned bynextval()
. (See CREATE SEQUENCE for a description of preallocated sequence values.)TEMPORARY
orTEMP
Drops all temporary tables created in the current session.
ALL
Releases all temporary resources associated with the current session and resets the session to its initial state. Currently, this has the same effect as executing the following sequence of statements:
CLOSE ALL; SET SESSION AUTHORIZATION DEFAULT; RESET ALL; DEALLOCATE ALL; UNLISTEN *; SELECT pg_advisory_unlock_all(); DISCARD PLANS; DISCARD TEMP; DISCARD SEQUENCES;
Notes
DISCARD ALL
cannot be executed inside a transaction block.
Compatibility
DISCARD
is a PostgreSQL extension.