bulkwal_copy_1.patch
application/octet-stream
Filename: bulkwal_copy_1.patch
Type: application/octet-stream
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
| File | + | − |
|---|---|---|
| src/backend/access/heap/heapam.c | 3 | 1 |
diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index 72ed632..88bb5e3 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -2096,6 +2096,8 @@ heap_multi_insert(Relation relation, HeapTuple *tuples, int ntuples,
char *scratch = NULL;
Page page;
bool needwal;
+ Size saveFreeSpace = RelationGetTargetPageFreeSpace(relation,
+ HEAP_DEFAULT_FILLFACTOR);
needwal = !(options & HEAP_INSERT_SKIP_WAL) && RelationNeedsWAL(relation);
@@ -2157,7 +2159,7 @@ heap_multi_insert(Relation relation, HeapTuple *tuples, int ntuples,
{
HeapTuple heaptup = heaptuples[ndone + nthispage];
- if (PageGetHeapFreeSpace(page) < MAXALIGN(heaptup->t_len))
+ if (PageGetHeapFreeSpace(page) - saveFreeSpace < MAXALIGN(heaptup->t_len))
break;
RelationPutHeapTuple(relation, buffer, heaptup);