<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/pltcl.sgml,v 2.11 2001/06/09 02:19:07 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/pltcl.sgml,v 2.12 2001/08/02 15:45:55 momjian Exp $
-->
<chapter id="pltcl">
</listitem>
</varlistentry>
+ <varlistentry>
+ <indexterm>
+ <primary>spi_lastoid</primary>
+ </indexterm>
+ <term>spi_lastoid</term>
+ <listitem>
+ <para>
+ Returns the OID of the last query if it was an INSERT.
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term>spi_exec ?-count <replaceable>n</replaceable>? ?-array <replaceable>name</replaceable>? <replaceable>query</replaceable> ?<replaceable>loop-body</replaceable>?</term>
<listitem>
* ENHANCEMENTS, OR MODIFICATIONS.
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/pl/tcl/pltcl.c,v 1.37 2001/06/09 02:19:07 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/pl/tcl/pltcl.c,v 1.38 2001/08/02 15:45:55 momjian Exp $
*
**********************************************************************/
int tupno, HeapTuple tuple, TupleDesc tupdesc);
static void pltcl_build_tuple_argument(HeapTuple tuple, TupleDesc tupdesc,
Tcl_DString *retval);
+static int pltcl_SPI_lastoid(ClientData cdata, Tcl_Interp *interp,
+ int argc, char *argv[]);
/*
* This routine is a crock, and so is everyplace that calls it. The problem
pltcl_SPI_prepare, NULL, NULL);
Tcl_CreateCommand(interp, "spi_execp",
pltcl_SPI_execp, NULL, NULL);
-
+ Tcl_CreateCommand(interp, "spi_lastoid",
+ pltcl_SPI_lastoid, NULL, NULL);
+
#ifdef ENABLE_PLTCL_UNKNOWN
/************************************************************
* Try to load the unknown procedure from pltcl_modules
}
+/**********************************************************************
+ * pltcl_SPI_lastoid() - return the last oid. To
+ * be used after insert queries
+ **********************************************************************/
+static int
+pltcl_SPI_lastoid(ClientData cdata, Tcl_Interp *interp,
+ int argc, char *argv[])
+{
+ char buf[64];
+ sprintf(buf,"%u",SPI_lastoid);
+ Tcl_SetResult(interp, buf, TCL_VOLATILE);
+ return TCL_OK;
+}
+
+
/**********************************************************************
* pltcl_set_tuple_values() - Set variables for all attributes
* of a given tuple