Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > c87b2b497674629a1400410f06a9ef63 > files > 418

postgresql-docs-7.3.2-5mdk.ppc.rpm

<HTML
><HEAD
><TITLE
>SPI_cursor_open</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
"><LINK
REV="MADE"
HREF="mailto:pgsql-docs@postgresql.org"><LINK
REL="HOME"
TITLE="PostgreSQL 7.3.2 Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="Interface Functions"
HREF="spi.html#SPI-INTERFACE"><LINK
REL="PREVIOUS"
TITLE="SPI_execp"
HREF="spi-spiexecp.html"><LINK
REL="NEXT"
TITLE="SPI_cursor_find"
HREF="spi-spicursor-find.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="stylesheet.css"><META
NAME="creation"
CONTENT="2003-02-03T20:17:34"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>PostgreSQL 7.3.2 Documentation</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="spi-spiexecp.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="spi-spicursor-find.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="SPI-SPICURSOR-OPEN"
>SPI_cursor_open</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN34045"
></A
><H2
>Name</H2
>SPI_cursor_open&nbsp;--&nbsp;Sets up a cursor using a plan created with <TT
CLASS="FUNCTION"
>SPI_prepare</TT
><A
NAME="IX-SPI-SPICURSOR-OPEN-1"
></A
><A
NAME="IX-SPI-SPICURSOR-OPEN-2"
></A
></DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN34054"
></A
><H2
>Synopsis</H2
><PRE
CLASS="SYNOPSIS"
>SPI_cursor_open(<TT
CLASS="REPLACEABLE"
><I
>name</I
></TT
>,
<TT
CLASS="REPLACEABLE"
><I
>plan</I
></TT
>,
<TT
CLASS="REPLACEABLE"
><I
>values</I
></TT
>,
<TT
CLASS="REPLACEABLE"
><I
>nulls</I
></TT
>)</PRE
><DIV
CLASS="REFSECT2"
><A
NAME="R2-SPI-SPICURSOR-OPEN-1"
></A
><H3
>Inputs</H3
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
>char *<TT
CLASS="REPLACEABLE"
><I
>name</I
></TT
></DT
><DD
><P
>Name for portal, or NULL to let the system select a name</P
></DD
><DT
>void *<TT
CLASS="REPLACEABLE"
><I
>plan</I
></TT
></DT
><DD
><P
>Execution plan</P
></DD
><DT
>Datum *<TT
CLASS="REPLACEABLE"
><I
>values</I
></TT
></DT
><DD
><P
>Actual parameter values</P
></DD
><DT
>char *<TT
CLASS="REPLACEABLE"
><I
>nulls</I
></TT
></DT
><DD
><P
>Array describing which parameters are NULLs
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
><TT
CLASS="LITERAL"
>n</TT
> indicates NULL (values[] entry ignored)</TD
></TR
><TR
><TD
>space indicates not NULL (values[] entry is valid)</TD
></TR
></TBODY
></TABLE
><P
></P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="R2-SPI-SPICURSOR-OPEN-2"
></A
><H3
>Outputs</H3
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
>Portal</DT
><DD
><P
>   Pointer to Portal containing cursor, or NULL on error</P
></DD
></DL
></DIV
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="R1-SPI-SPICURSOR-OPEN-1"
></A
><H2
>Description</H2
><P
><TT
CLASS="FUNCTION"
>SPI_cursor_open</TT
> 
   sets up a cursor (internally, a Portal) that will execute a plan
   prepared by <TT
CLASS="FUNCTION"
>SPI_prepare</TT
>.</P
><P
>   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.</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="R1-SPI-SPICURSOR-OPEN-2"
></A
><H2
>Usage</H2
><P
>   If <TT
CLASS="REPLACEABLE"
><I
>nulls</I
></TT
>
is NULL then 
   <TT
CLASS="FUNCTION"
>SPI_cursor_open</TT
> 
assumes that all parameters (if any) are NOT NULL.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="spi-spiexecp.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="spi-spicursor-find.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>SPI_execp</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="spi.html#SPI-INTERFACE"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>SPI_cursor_find</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>