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