/*-------------------------------------------------------------------------
*
* bulk_write . h
* Efficiently and reliably populate a new relation
*
*
* Portions Copyright ( c ) 1996 - 2025 , PostgreSQL Global Development Group
* Portions Copyright ( c ) 1994 , Regents of the University of California
*
* src / include / storage / bulk_write . h
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
#ifndef BULK_WRITE_H
#define BULK_WRITE_H
#include "storage/smgr.h"
#include "utils/rel.h"
/* Bulk writer state, contents are private to bulk_write.c */
typedef struct BulkWriteState BulkWriteState;
/*
* Temporary buffer to hold a page to until it ' s written out . Use
* smgr_bulk_get_buf ( ) to reserve one of these . This is a separate typedef to
* distinguish it from other block - sized buffers passed around in the system .
*/
typedef PGIOAlignedBlock *BulkWriteBuffer;
/* forward declared from smgr.h */
struct SMgrRelationData;
extern BulkWriteState *smgr_bulk_start_rel(Relation rel, ForkNumber forknum);
extern BulkWriteState *smgr_bulk_start_smgr(struct SMgrRelationData *smgr, ForkNumber forknum, bool use_wal);
extern BulkWriteBuffer smgr_bulk_get_buf(BulkWriteState *bulkstate);
extern void smgr_bulk_write(BulkWriteState *bulkstate, BlockNumber blocknum, BulkWriteBuffer buf, bool page_std);
extern void smgr_bulk_finish(BulkWriteState *bulkstate);
#endif /* BULK_WRITE_H */
Messung V0.5 in Prozent C=86 H=100 G=93
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-08-08)
¤
*© Formatika GbR, Deutschland