ok
Direktori : /proc/thread-self/root/proc/self/root/opt/alt/postgresql11/usr/share/man/man3/ |
Current File : //proc/thread-self/root/proc/self/root/opt/alt/postgresql11/usr/share/man/man3/SPI_cursor_open.3 |
'\" t .\" Title: SPI_cursor_open .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> .\" Date: 2017-11-06 .\" Manual: PostgreSQL 9.2.24 Documentation .\" Source: PostgreSQL 9.2.24 .\" Language: English .\" .TH "SPI_CURSOR_OPEN" "3" "2017-11-06" "PostgreSQL 9.2.24" "PostgreSQL 9.2.24 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_cursor_open \- set up a cursor using a statement created with \fBSPI_prepare\fR .\" SPI_cursor_open .SH "SYNOPSIS" .sp .nf Portal SPI_cursor_open(const char * \fIname\fR, SPIPlanPtr \fIplan\fR, Datum * \fIvalues\fR, const char * \fInulls\fR, bool \fIread_only\fR) .fi .SH "DESCRIPTION" .PP \fBSPI_cursor_open\fR sets up a cursor (internally, a portal) that will execute a statement prepared by \fBSPI_prepare\fR\&. The parameters have the same meanings as the corresponding parameters to \fBSPI_execute_plan\fR\&. .PP Using a cursor instead of executing the statement directly has two benefits\&. First, the result rows can be retrieved a few at a time, avoiding memory overrun for queries that return many rows\&. Second, a portal can outlive the current procedure (it can, in fact, live to the end of the current transaction)\&. Returning the portal name to the procedure\*(Aqs caller provides a way of returning a row set as result\&. .PP The passed\-in parameter data will be copied into the cursor\*(Aqs portal, so it can be freed while the cursor still exists\&. .SH "ARGUMENTS" .PP const char * \fIname\fR .RS 4 name for portal, or NULL to let the system select a name .RE .PP SPIPlanPtr \fIplan\fR .RS 4 prepared statement (returned by \fBSPI_prepare\fR) .RE .PP Datum * \fIvalues\fR .RS 4 An array of actual parameter values\&. Must have same length as the statement\*(Aqs number of arguments\&. .RE .PP const char * \fInulls\fR .RS 4 An array describing which parameters are null\&. Must have same length as the statement\*(Aqs number of arguments\&. n indicates a null value (entry in \fIvalues\fR will be ignored); a space indicates a nonnull value (entry in \fIvalues\fR is valid)\&. .sp If \fInulls\fR is NULL then \fBSPI_cursor_open\fR assumes that no parameters are null\&. .RE .PP bool \fIread_only\fR .RS 4 true for read\-only execution .RE .SH "RETURN VALUE" .PP Pointer to portal containing the cursor\&. Note there is no error return convention; any error will be reported via \fBelog\fR\&.