'\" t .\" Title: SPI_is_cursor_plan .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2024 .\" Manual: PostgreSQL 16.2 Documentation .\" Source: PostgreSQL 16.2 .\" Language: English .\" .TH "SPI_IS_CURSOR_PLAN" "3" "2024" "PostgreSQL 16.2" "PostgreSQL 16.2 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" SPI_is_cursor_plan \- return true if a statement prepared by \fBSPI_prepare\fR can be used with \fBSPI_cursor_open\fR .SH "SYNOPSIS" .sp .nf bool SPI_is_cursor_plan(SPIPlanPtr \fIplan\fR) .fi .SH "DESCRIPTION" .PP \fBSPI_is_cursor_plan\fR returns true if a statement prepared by \fBSPI_prepare\fR can be passed as an argument to \fBSPI_cursor_open\fR, or false if that is not the case\&. The criteria are that the \fIplan\fR represents one single command and that this command returns tuples to the caller; for example, \fBSELECT\fR is allowed unless it contains an INTO clause, and \fBUPDATE\fR is allowed only if it contains a RETURNING clause\&. .SH "ARGUMENTS" .PP SPIPlanPtr \fIplan\fR .RS 4 prepared statement (returned by \fBSPI_prepare\fR) .RE .SH "RETURN VALUE" .PP true or false to indicate if the \fIplan\fR can produce a cursor or not, with \fISPI_result\fR set to zero\&. If it is not possible to determine the answer (for example, if the \fIplan\fR is NULL or invalid, or if called when not connected to SPI), then \fISPI_result\fR is set to a suitable error code and false is returned\&.