git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: c135205)
Document SPI_push() and SPI_pop().
2004年3月17日 01:05:10 +0000 (01:05 +0000)
2004年3月17日 01:05:10 +0000 (01:05 +0000)

diff --git a/doc/src/sgml/spi.sgml b/doc/src/sgml/spi.sgml
index ad8a5f084f929e613fa488c5fa92fdedc248201f..c87a136bdd471fe89a8a1e4ef6595fdf45ecdd84 100644 (file)
--- a/doc/src/sgml/spi.sgml
+++ b/doc/src/sgml/spi.sgml
@@ -1,5 +1,5 @@
<!--
-$PostgreSQL: pgsql/doc/src/sgml/spi.sgml,v 1.32 2004年03月05日 01:00:45 momjian Exp $
+$PostgreSQL: pgsql/doc/src/sgml/spi.sgml,v 1.33 2004年03月17日 01:05:10 momjian Exp $
-->
<chapter id="spi">
@@ -199,6 +199,68 @@ int SPI_finish(void)
<!-- *********************************************** -->
+<refentry id="spi-spi-push">
+ <refmeta>
+ <refentrytitle>SPI_push</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+ <refname>SPI_push</refname>
+ <refpurpose>pushes SPI stack to allow recursive SPI calls</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_push</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+void SPI_push(void)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</title>
+
+ <para>
+ <function>SPI_push</function> pushes a new environment on to the
+ SPI call stack, allowing recursive calls to use a new environment.
+ </para>
+ </refsect1>
+
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-pop">
+ <refmeta>
+ <refentrytitle>SPI_pop</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+ <refname>SPI_pop</refname>
+ <refpurpose>pops SPI stack to allow recursive SPI calls</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_pop</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+void SPI_pop(void)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</title>
+
+ <para>
+ <function>SPI_pop</function> pops the previous environment from the
+ SPI call stack. For use when returning from recursive SPI calls.
+ </para>
+ </refsect1>
+
+</refentry>
+
+<!-- *********************************************** -->
+
<refentry id="spi-spi-exec">
<refmeta>
<refentrytitle>SPI_exec</refentrytitle>
diff --git a/src/backend/executor/spi.c b/src/backend/executor/spi.c
index 128a063f3c60fcc1edd2b7cd5dd1b3fd6d457666..fb44d9d56fd02922ded6acbce74025a1736cf10d 100644 (file)
--- a/src/backend/executor/spi.c
+++ b/src/backend/executor/spi.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/executor/spi.c,v 1.110 2004年03月05日 00:47:01 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/executor/spi.c,v 1.111 2004年03月17日 01:05:10 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -201,12 +201,14 @@ AtEOXact_SPI(bool isCommit)
SPI_tuptable = NULL;
}
+/* Pushes SPI stack to allow recursive SPI calls */
void
SPI_push(void)
{
_SPI_curid++;
}
+/* Pops SPI stack to allow recursive SPI calls */
void
SPI_pop(void)
{
diff --git a/src/include/executor/spi.h b/src/include/executor/spi.h
index 6d0ce059a20a7140a2c9072356ba1c9458d84b3a..ac2b494b53231fa3d2a561c650ce426396784730 100644 (file)
--- a/src/include/executor/spi.h
+++ b/src/include/executor/spi.h
@@ -2,7 +2,7 @@
*
* spi.h
*
- * $PostgreSQL: pgsql/src/include/executor/spi.h,v 1.42 2004年03月05日 00:47:01 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/executor/spi.h,v 1.43 2004年03月17日 01:05:10 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -81,8 +81,8 @@ extern int SPI_connect(void);
extern int SPI_finish(void);
extern void SPI_push(void);
extern void SPI_pop(void);
-extern int SPI_exec(const char *src, int tcount);
-extern int SPI_execp(void *plan, Datum *values, const char *Nulls,
+extern int SPI_exec(const char *src, int tcount);
+extern int SPI_execp(void *plan, Datum *values, const char *Nulls,
int tcount);
extern int SPI_execp_current(void *plan, Datum *values, const char *Nulls,
bool useCurrentSnapshot, int tcount);
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /