summaryrefslogtreecommitdiff
path: root/src/include/executor
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2001-08-02 18:08:43 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2001-08-02 18:08:43 +0000
commitf59f3c88994063f2199f04853447510fd44c3635 (patch)
treee8d2bd8a80999590b43abda7e13c99b8a571b671 /src/include/executor
parentba4d223cd976dce8504cbd4a86fbd9973e7b5c5a (diff)
Add a SPI_copytupledesc function that parallels SPI_copytuple --- ie,
it copies the tupdesc into upper-executor memory. This is necessary for returning tuple descriptors without leaking all of lower exec memory.
Diffstat (limited to 'src/include/executor')
-rw-r--r--src/include/executor/spi.h24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/include/executor/spi.h b/src/include/executor/spi.h
index 3a7c7807942..bef68bc7a6e 100644
--- a/src/include/executor/spi.h
+++ b/src/include/executor/spi.h
@@ -2,6 +2,7 @@
*
* spi.h
*
+ * $Id: spi.h,v 1.28 2001/08/02 18:08:43 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -48,17 +49,17 @@ typedef struct
HeapTuple *vals; /* tuples */
} SPITupleTable;
-#define SPI_ERROR_CONNECT -1
-#define SPI_ERROR_COPY -2
-#define SPI_ERROR_OPUNKNOWN -3
-#define SPI_ERROR_UNCONNECTED -4
-#define SPI_ERROR_CURSOR -5
-#define SPI_ERROR_ARGUMENT -6
-#define SPI_ERROR_PARAM -7
-#define SPI_ERROR_TRANSACTION -8
-#define SPI_ERROR_NOATTRIBUTE -9
-#define SPI_ERROR_NOOUTFUNC -10
-#define SPI_ERROR_TYPUNKNOWN -11
+#define SPI_ERROR_CONNECT (-1)
+#define SPI_ERROR_COPY (-2)
+#define SPI_ERROR_OPUNKNOWN (-3)
+#define SPI_ERROR_UNCONNECTED (-4)
+#define SPI_ERROR_CURSOR (-5)
+#define SPI_ERROR_ARGUMENT (-6)
+#define SPI_ERROR_PARAM (-7)
+#define SPI_ERROR_TRANSACTION (-8)
+#define SPI_ERROR_NOATTRIBUTE (-9)
+#define SPI_ERROR_NOOUTFUNC (-10)
+#define SPI_ERROR_TYPUNKNOWN (-11)
#define SPI_OK_CONNECT 1
#define SPI_OK_FINISH 2
@@ -87,6 +88,7 @@ extern void *SPI_saveplan(void *plan);
extern int SPI_freeplan(void *plan);
extern HeapTuple SPI_copytuple(HeapTuple tuple);
+extern TupleDesc SPI_copytupledesc(TupleDesc tupdesc);
extern HeapTuple SPI_modifytuple(Relation rel, HeapTuple tuple, int natts,
int *attnum, Datum *Values, char *Nulls);
extern int SPI_fnumber(TupleDesc tupdesc, char *fname);