mirror of
https://github.com/neondatabase/neon.git
synced 2026-05-28 10:30:40 +00:00
pageserver: move things around to prepare for decoding logic
We wish to have high level WAL decoding logic in `wal_decoder::decoder` module. For this we need the `Value` and `NeonWalRecord` types accessible there, so: 1. Move `Value` and `NeonWalRecord` to `pageserver_api::value` and `pageserver_api::record` respectively. I had to add a testing feature to `pageserver_api` to get this working due to `NeonWalRecord` test directives. 2. Get rid of `pageserver::repository` (follow up from (1)) 3. Move PG specific WAL record types to `postgres_ffi::record`. In theory they could live in `wal_decoder`, but it would create a circular dependency between `wal_decoder` and `postgres_ffi`. Long term it makes sennse for those types to be PG version specific, so that will work out nicely. 4. Move higher level WAL record types (to be ingested by pageserver) into `wal_decoder::models`
This commit is contained in:
@@ -216,6 +216,7 @@ macro_rules! enum_pgversion {
|
||||
}
|
||||
|
||||
pub mod pg_constants;
|
||||
pub mod record;
|
||||
pub mod relfile_utils;
|
||||
|
||||
// Export some widely used datatypes that are unlikely to change across Postgres versions
|
||||
|
||||
1239
libs/postgres_ffi/src/record.rs
Normal file
1239
libs/postgres_ffi/src/record.rs
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user