1 /*-------------------------------------------------------------------------
4 * POSTGRES heap access method input/output definitions.
7 * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/include/access/hio.h
12 *-------------------------------------------------------------------------
17 #include "access/htup.h"
18 #include "utils/relcache.h"
19 #include "storage/buf.h"
23 * state for bulk inserts --- private to heapam.c and hio.c
25 * If current_buf isn't InvalidBuffer, then we are holding an extra pin
28 * "typedef struct BulkInsertStateData *BulkInsertState" is in heapam.h
30 typedef struct BulkInsertStateData
32 BufferAccessStrategy strategy
; /* our BULKWRITE strategy object */
33 Buffer current_buf
; /* current insertion target page */
34 } BulkInsertStateData
;
37 extern void RelationPutHeapTuple(Relation relation
, Buffer buffer
,
38 HeapTuple tuple
, bool token
);
39 extern Buffer
RelationGetBufferForTuple(Relation relation
, Size len
,
40 Buffer otherBuffer
, int options
,
41 BulkInsertStateData
*bistate
,
42 Buffer
*vmbuffer
, Buffer
*vmbuffer_other
);