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:
Vlad Lazar
2024-10-22 11:00:10 +02:00
parent 56101531c0
commit b87ac5b375
45 changed files with 985 additions and 917 deletions

View File

@@ -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

File diff suppressed because it is too large Load Diff