This page in other versions: Unsupported versions: 7.2 / 7.3

SPI_cursor_open

Name

SPI_cursor_open -- Sets up a cursor using a plan created with SPI_prepare

Synopsis

SPI_cursor_open(name,
plan,
values,
nulls)

Inputs

char *name

Name for portal, or NULL to let the system select a name

void *plan

Execution plan

Datum *values

Actual parameter values

char *nulls

Array describing which parameters are NULLs

n indicates NULL (values[] entry ignored)
space indicates not NULL (values[] entry is valid)

Outputs

Portal

Pointer to Portal containing cursor, or NULL on error

Description

SPI_cursor_open sets up a cursor (internally, a Portal) that will execute a plan prepared by SPI_prepare.

Using a cursor instead of executing the plan 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's caller provides a way of returning a rowset result.

Usage

If nulls is NULL then SPI_cursor_open assumes that all parameters (if any) are NOT NULL.

Submit correction

If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.

Privacy Policy | About PostgreSQL
Copyright © 1996-2016 The PostgreSQL Global Development Group