1 /*-------------------------------------------------------------------------
4 * POSTGRES heap access method input/output definitions.
7 * Portions Copyright (c) 1996-2021, 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 "storage/buf.h"
19 #include "utils/relcache.h"
22 * state for bulk inserts --- private to heapam.c and hio.c
24 * If current_buf isn't InvalidBuffer, then we are holding an extra pin
27 * "typedef struct BulkInsertStateData *BulkInsertState" is in heapam.h
29 typedef struct BulkInsertStateData
31 BufferAccessStrategy strategy
; /* our BULKWRITE strategy object */
32 Buffer current_buf
; /* current insertion target page */
33 } BulkInsertStateData
;
36 extern void RelationPutHeapTuple(Relation relation
, Buffer buffer
,
37 HeapTuple tuple
, bool token
);
38 extern Buffer
RelationGetBufferForTuple(Relation relation
, Size len
,
39 Buffer otherBuffer
, int options
,
40 BulkInsertStateData
*bistate
,
41 Buffer
*vmbuffer
, Buffer
*vmbuffer_other
);