File: spi-spi-push.html

package info (click to toggle)
pgadmin3 1.4.3-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 29,796 kB
  • ctags: 10,758
  • sloc: cpp: 55,356; sh: 6,164; ansic: 1,520; makefile: 576; sql: 482; xml: 100; perl: 18
file content (45 lines) | stat: -rw-r--r-- 2,319 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>SPI_push</title>
<link rel="stylesheet" href="stylesheet.css" type="text/css">
<link rev="made" href="pgsql-docs@postgresql.org">
<meta name="generator" content="DocBook XSL Stylesheets V1.70.0">
<link rel="start" href="index.html" title="PostgreSQL 8.1.4 Documentation">
<link rel="up" href="spi.html#spi-interface" title="40.1.Interface Functions">
<link rel="prev" href="spi-spi-finish.html" title="SPI_finish">
<link rel="next" href="spi-spi-pop.html" title="SPI_pop">
<link rel="copyright" href="ln-legalnotice.html" title="Legal Notice">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="spi-spi-push"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>SPI_push &#8212; push SPI stack to allow recursive SPI usage</p>
</div>
<a name="id734218"></a><div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">void SPI_push(void)</pre>
</div>
<div class="refsect1" lang="en">
<a name="id734231"></a><h2>Description</h2>
<p>   <code class="function">SPI_push</code> should be called before executing another
   procedure that might itself wish to use SPI.
   After <code class="function">SPI_push</code>, SPI is no longer in a
   &#8220;<span class="quote">connected</span>&#8221; state, and SPI function calls will be rejected unless
   a fresh <code class="function">SPI_connect</code> is done.  This ensures a clean
   separation between your procedure's SPI state and that of another procedure
   you call.  After the other procedure returns, call
   <code class="function">SPI_pop</code> to restore access to your own SPI state.
  </p>
<p>   Note that <code class="function">SPI_execute</code> and related functions
   automatically do the equivalent of <code class="function">SPI_push</code> before
   passing control back to the SQL execution engine, so it is not necessary
   for you to worry about this when using those functions.
   Only when you are directly calling arbitrary code that might contain
   <code class="function">SPI_connect</code> calls do you need to issue
   <code class="function">SPI_push</code> and <code class="function">SPI_pop</code>.
  </p>
</div>
</div></body>
</html>