postgres_ffi: expose HeapTupleHeaderData

This commit is contained in:
John Spray
2025-05-19 15:47:52 +02:00
parent 9657fbc194
commit 53286d8880
3 changed files with 8 additions and 3 deletions

View File

@@ -12,3 +12,5 @@
#include "storage/bufpage.h"
#include "storage/off.h"
#include "access/multixact.h"
#include "postgres.h"
#include "access/htup.h"

View File

@@ -29,6 +29,7 @@ impl ParseCallbacks for PostgresFfiCallbacks {
"CheckPoint",
"FullTransactionId",
"ControlFileData",
"HeapTupleHeaderData",
];
if serde_list.contains(&derive_info.name) {
@@ -125,6 +126,8 @@ fn main() -> anyhow::Result<()> {
.allowlist_var("PG_CONTROL_FILE_SIZE")
.allowlist_var("PG_CONTROLFILEDATA_OFFSETOF_CRC")
.allowlist_type("PageHeaderData")
.allowlist_type("HeapTupleHeaderData")
.allowlist_type("Datum")
.allowlist_type("DBState")
.allowlist_type("RelMapFile")
.allowlist_type("RepOriginId")

View File

@@ -223,9 +223,9 @@ pub mod walrecord;
// Export some widely used datatypes that are unlikely to change across Postgres versions
pub use v14::bindings::{
BlockNumber, CheckPoint, ControlFileData, MultiXactId, OffsetNumber, Oid, PageHeaderData,
RepOriginId, TimeLineID, TimestampTz, TransactionId, XLogRecPtr, XLogRecord, XLogSegNo, uint32,
uint64,
BlockNumber, CheckPoint, ControlFileData, HeapTupleHeaderData, MultiXactId, OffsetNumber, Oid,
PageHeaderData, RepOriginId, TimeLineID, TimestampTz, TransactionId, XLogRecPtr, XLogRecord,
XLogSegNo, uint32, uint64,
};
// Likewise for these, although the assumption that these don't change is a little more iffy.
pub use v14::bindings::{MultiXactOffset, MultiXactStatus};