Postgresql 中文操作指南

SPI_execute_plan

SPI_execute_plan — 执行由 SPI_prepare 准备的语句

Synopsis

int SPI_execute_plan(SPIPlanPtr plan, Datum * values, const char * nulls,
                     bool read_only, long count)

Description

SPI_execute_plan 执行由 SPI_prepare 或其兄弟之一准备的语句。 read_onlycount 的解释与 SPI_execute 中相同。

Arguments

  • SPIPlanPtr _plan_

    • * 已准备好的语句(由 SPI_prepare 返回)

  • Datum * _values_

    • 实际参数值的数组。其长度必须与语句的参数数量相同。

  • const char * _nulls_

    • 描述为 null 的参数的数组。其长度必须与语句的参数数量相同。

    • 如果 nullsNULL ,则 SPI_execute_plan 假设无参数为 null。否则,每个 nulls 数组条目应为 ' ' (如果对应的参数值不为 null)或 'n' (如果对应的参数值为空)。(在后一种情况下,对应的 values 条目中的实际值无关紧要。)请注意, nulls 不是文本字符串,只是数组:它不需要 '\0' 终止符。

  • bool _read_only_

    • true for read-only execution

  • long _count_

    • 要返回的最大行数,或 0 以表示无限制

Return Value

返回值与 SPI_execute 相同,并带有以下附加的可能出错(负数)结果:

  • SPI_ERROR_ARGUMENT

    • 如果 planNULL 或无效,或 count 小于 0

  • SPI_ERROR_PARAM

    • 如果 valuesNULL ,并且使用某些参数准备了 plan

如果成功,则 SPI_processedSPI_tuptableSPI_execute 中的设置相同。