summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorJan Wieck1999-12-16 22:20:03 +0000
committerJan Wieck1999-12-16 22:20:03 +0000
commit397e9b32a3c2b2c72dcb9cb99cbf2a162aadcb73 (patch)
tree17583111e0e7c2ca83b94040d48a1036f870b9a4 /src/include
parent5ca971a18a708341dd49f27c23fec40ea4342d13 (diff)
Some changes to prepare for LONG attributes.
Jan
Diffstat (limited to 'src/include')
-rw-r--r--src/include/access/heapam.h3
-rw-r--r--src/include/access/htup.h8
-rw-r--r--src/include/executor/spi.h1
3 files changed, 10 insertions, 2 deletions
diff --git a/src/include/access/heapam.h b/src/include/access/heapam.h
index 239c3c468eb..39da1553290 100644
--- a/src/include/access/heapam.h
+++ b/src/include/access/heapam.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: heapam.h,v 1.48 1999/11/24 00:44:37 momjian Exp $
+ * $Id: heapam.h,v 1.49 1999/12/16 22:19:58 wieck Exp $
*
*-------------------------------------------------------------------------
*/
@@ -281,6 +281,7 @@ extern HeapTuple heap_formtuple(TupleDesc tupleDescriptor,
Datum *value, char *nulls);
extern HeapTuple heap_modifytuple(HeapTuple tuple,
Relation relation, Datum *replValue, char *replNull, char *repl);
+extern void heap_freetuple(HeapTuple tuple);
HeapTuple heap_addheader(uint32 natts, int structlen, char *structure);
/* in common/heap/stats.c */
diff --git a/src/include/access/htup.h b/src/include/access/htup.h
index e091208e52e..c81dcfd6a88 100644
--- a/src/include/access/htup.h
+++ b/src/include/access/htup.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: htup.h,v 1.25 1999/07/19 07:07:28 momjian Exp $
+ * $Id: htup.h,v 1.26 1999/12/16 22:19:58 wieck Exp $
*
*-------------------------------------------------------------------------
*/
@@ -78,11 +78,17 @@ extern long heap_sysoffset[];
* updated version of tuple (required by MVCC);
* 3. someday someone let tuple to cross block boundaries -
* he have to add something below...
+ *
+ * Change for 7.0:
+ * Up to now t_data could be NULL, the memory location directly following
+ * HeapTupleData or pointing into a buffer. Now, it could also point to
+ * a separate allocation that was done in the t_datamcxt memory context.
*/
typedef struct HeapTupleData
{
uint32 t_len; /* length of *t_data */
ItemPointerData t_self; /* SelfItemPointer */
+ MemoryContext t_datamcxt; /* */
HeapTupleHeader t_data; /* */
} HeapTupleData;
diff --git a/src/include/executor/spi.h b/src/include/executor/spi.h
index 9c5f8d5cfc2..1c1e75876df 100644
--- a/src/include/executor/spi.h
+++ b/src/include/executor/spi.h
@@ -93,5 +93,6 @@ extern char *SPI_getrelname(Relation rel);
extern void *SPI_palloc(Size size);
extern void *SPI_repalloc(void *pointer, Size size);
extern void SPI_pfree(void *pointer);
+extern void SPI_freetuple(HeapTuple pointer);
#endif /* SPI_H */