支援版本: 目前 (17) / 16 / 15 / 14
開發版本: devel

SPI_cursor_parse_open

SPI_cursor_parse_open — 使用查詢字串和參數設定游標

概要

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

描述

SPI_cursor_parse_open 設定一個游標(內部是一個入口 (portal)),它將執行指定的查詢字串。 這與 SPI_prepare_cursor 之後接 SPI_cursor_open_with_paramlist 類似,但查詢字串中的參數引用完全透過提供 ParamListInfo 物件來處理。

對於一次性的查詢執行,此函數應優先於 SPI_prepare_cursor 後接 SPI_cursor_open_with_paramlist。 如果要使用許多不同的參數執行相同的命令,則任一種方法都可能更快,具體取決於重新規劃的成本與自訂計畫的好處。

options->params 物件通常應該用 PARAM_FLAG_CONST 標記每個參數,因為單次計畫 (one-shot plan) 總是會被用於該查詢。

傳入的參數資料將被複製到游標的入口中,因此可以在游標仍然存在時釋放它。

參數

const char * name

入口的名稱,如果為 NULL 則讓系統選擇名稱

const char * command

命令字串

const SPIParseOpenOptions * options

包含可選參數的結構

呼叫者應始終將整個 options 結構歸零,然後填寫他們想要設定的任何欄位。 這確保了程式碼的前向相容性,因為未來新增到結構中的任何欄位都將被定義為在為零時以向後相容的方式運作。 目前可用的 options 欄位為

ParamListInfo params

包含查詢參數類型和值的資料結構;如果沒有則為 NULL

int cursorOptions

游標選項的整數位元遮罩;零產生預設行為

bool read_only

對於唯讀執行為 true

傳回值

包含游標的入口指標。 請注意,沒有錯誤傳回慣例;任何錯誤都將透過 elog 報告。

提交更正

如果您在文件中發現任何不正確、與您使用特定功能的體驗不符或需要進一步澄清的地方,請使用 此表格 回報文件問題。