diff options
| author | Robert Haas | 2023-09-28 14:36:34 +0000 |
|---|---|---|
| committer | Robert Haas | 2023-09-28 14:36:34 +0000 |
| commit | 4e9fc3a9762065a442b829d759dc61d9a3265e81 (patch) | |
| tree | 2a8744fd97994f41f099340d85dae48cf772d575 /src/include | |
| parent | 22ff5c9d78b9c23622de2cf0730cec85266a7596 (diff) | |
Return data from heap_page_prune via a struct.
Previously, one of the values in the struct was returned as the return
value, and another was returned via an output parameter. In
preparation for returning more stuff, consolidate both values into a
struct returned via an output parameter.
Melanie Plageman, reviewed by Andres Freund and by me.
Discussion: https://postgr.es/m/CAAKRu_br124qsGJieuYA0nGjywEukhK1dKBfRdby_4yY3E9SXA%40mail.gmail.com
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/access/heapam.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/include/access/heapam.h b/src/include/access/heapam.h index 6598c4d7d8b..2d3f149e4f0 100644 --- a/src/include/access/heapam.h +++ b/src/include/access/heapam.h @@ -191,6 +191,15 @@ typedef struct HeapPageFreeze } HeapPageFreeze; +/* + * Per-page state returned from pruning + */ +typedef struct PruneResult +{ + int ndeleted; /* Number of tuples deleted from the page */ + int nnewlpdead; /* Number of newly LP_DEAD items */ +} PruneResult; + /* ---------------- * function prototypes for heap access method * @@ -284,9 +293,9 @@ extern TransactionId heap_index_delete_tuples(Relation rel, /* in heap/pruneheap.c */ struct GlobalVisState; extern void heap_page_prune_opt(Relation relation, Buffer buffer); -extern int heap_page_prune(Relation relation, Buffer buffer, +extern void heap_page_prune(Relation relation, Buffer buffer, struct GlobalVisState *vistest, - int *nnewlpdead, + PruneResult *presult, OffsetNumber *off_loc); extern void heap_page_prune_execute(Buffer buffer, OffsetNumber *redirected, int nredirected, |
