blob: a84df07c68649f8c5f0b0d6b7e61f221882d6a76 (
plain)
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
46
47
48
49
50
51
52
53
54
|
/*-------------------------------------------------------------------------
*
* tuptoaster.h
* POSTGRES definitions for external and compressed storage
* of variable size attributes.
*
* Copyright (c) 2000, PostgreSQL Development Team
*
* $Id: tuptoaster.h,v 1.6 2000/07/21 10:31:31 wieck Exp $
*
*-------------------------------------------------------------------------
*/
#ifndef TUPTOASTER_H
#define TUPTOASTER_H
#ifdef TUPLE_TOASTER_ACTIVE
#include "access/heapam.h"
#include "access/htup.h"
#include "access/tupmacs.h"
#include "utils/rel.h"
/*
* DO NOT ENABLE THIS
* until we have crash safe file versioning and you've
* changed VACUUM to recreate indices that use possibly
* toasted values. 2000/07/20 Jan
*/
#undef TOAST_INDICES
#define TOAST_MAX_CHUNK_SIZE ((MaxTupleSize - \
MAXALIGN( \
MAXALIGN(offsetof(HeapTupleHeaderData, t_bits)) + \
MAXALIGN(sizeof(Oid)) + \
MAXALIGN(sizeof(int32)) + \
MAXALIGN(VARHDRSZ))) / 4)
#ifdef TOAST_INDICES
extern void heap_tuple_toast_attrs(Relation rel,
HeapTuple newtup, HeapTuple oldtup);
#else
extern void heap_tuple_toast_attrs(Relation rel,
HeapTuple newtup, HeapTuple oldtup,
HeapTupleHeader *plaintdata, int32 *plaintlen);
#endif
extern varattrib *heap_tuple_untoast_attr(varattrib * attr);
#endif /* TUPLE_TOASTER_ACTIVE */
#endif /* TUPTOASTER_H */
|