Skip to main content

reddb_file/
lib.rs

1//! RedDB file artifact layer.
2//!
3//! This crate owns RedDB's file-level contracts: embedded single-file `.rdb`,
4//! serverless boot artifacts, and primary-replica file/WAL planning. Runtime,
5//! SQL, and storage-engine payload semantics stay in `reddb-server`; this crate
6//! works with bytes, offsets, locks, checkpoints, manifests, and recovery rules.
7
8pub mod ai_model_cache;
9pub mod audit_log;
10pub mod backup_manifest;
11pub mod backup_temp;
12pub mod blob_cache;
13pub mod bloom_segment;
14pub mod btree_value_layout;
15pub mod column_block;
16pub mod control_store;
17pub mod embedded;
18pub mod file_format;
19pub mod graph_label_registry;
20pub mod graph_record;
21pub mod graph_store;
22pub mod graph_table_index;
23pub mod hnsw_index_codec;
24pub mod ivf_index_codec;
25pub mod layout;
26pub mod local_backend;
27pub mod logical_wal;
28pub mod native_artifact_codec;
29pub mod native_store;
30pub mod operational_manifest;
31pub mod physical_metadata;
32pub mod physical_metadata_policy;
33pub mod primary_replica;
34pub mod profile;
35pub mod serverless;
36pub mod shm;
37pub mod spill;
38pub mod store_wal;
39pub mod table_def_codec;
40pub mod transaction_wal;
41pub mod turboquant_snapshot;
42pub mod ui_bundle_cache;
43pub mod vault_export_envelope;
44pub mod vector_btree_page_format;
45pub mod vector_value_codec;
46pub mod wal_header;
47pub mod wal_record;
48pub mod zone_map;
49
50pub use ai_model_cache::{
51    ai_model_cache_manifest_path, ai_model_cache_manifest_temp_path, ai_model_cache_purge_dir,
52    ai_model_cache_purge_root, ai_model_cache_root, ai_model_cache_staging_dir,
53    ai_model_cache_staging_root, copy_ai_model_cache_artifact, decode_ai_model_cache_manifest_json,
54    drop_ai_model_cache_dir, encode_ai_model_cache_manifest_json, promote_ai_model_cache_staging,
55    write_ai_model_cache_manifest, AiModelCacheManifest, AiModelCacheManifestFile,
56    AI_MODEL_CACHE_DIR_NAME, AI_MODEL_CACHE_MANIFEST_FILE, AI_MODEL_CACHE_PURGE_DIR_NAME,
57    AI_MODEL_CACHE_STAGING_DIR_NAME,
58};
59pub use audit_log::{rotate_audit_log, AuditLogRotation};
60pub use backup_manifest::{
61    archived_snapshot_key, archived_wal_segment_key, backup_head_artifact, backup_head_key,
62    backup_root_from_snapshot_prefix, backup_snapshot_dir, backup_snapshot_dir_prefix,
63    backup_snapshot_prefix, backup_wal_dir, backup_wal_dir_prefix, backup_wal_prefix,
64    decode_archived_logical_wal_records, decode_backup_head_json, decode_snapshot_manifest_json,
65    decode_unified_manifest_json, decode_wal_segment_manifest_json,
66    encode_archived_logical_wal_records, encode_backup_head_json, encode_snapshot_manifest_json,
67    encode_unified_manifest_json, encode_wal_segment_manifest_json, is_archived_snapshot_key,
68    is_archived_wal_segment_key, is_backup_manifest_sidecar_key, parse_archived_snapshot_key,
69    parse_archived_wal_segment_key, remote_database_key, sha256_bytes_hex, sha256_file_hex,
70    snapshot_manifest_artifact, snapshot_manifest_key, unified_manifest_artifact,
71    unified_manifest_key, wal_segment_manifest_artifact, wal_segment_manifest_key,
72    ArchivedLogicalWalRecord, BackupHead, BackupJsonArtifact, SnapshotManifest, UnifiedManifest,
73    UnifiedSnapshotEntry, UnifiedWalEntry, WalSegmentManifest, WalSegmentMeta,
74    BACKUP_MANIFEST_FORMAT_VERSION,
75};
76pub use backup_temp::{
77    BackupTempJsonFile, ARCHIVED_CHANGE_RECORDS_READ_TEMP_PREFIX,
78    ARCHIVED_CHANGE_RECORDS_TEMP_PREFIX, BACKUP_JSON_OBJECT_READ_TEMP_PREFIX,
79    BACKUP_JSON_OBJECT_TEMP_PREFIX,
80};
81pub use blob_cache::{
82    blob_cache_control_path, blob_cache_control_temp_path, blob_cache_double_write_path,
83    blob_cache_l2_backup_control_key, blob_cache_l2_backup_pager_key, decode_l2_v2_frame,
84    encode_l2_key, encode_l2_v2_frame, L2BlobFrame, L2Control, L2Record, L2_BACKUP_CONTROL_SUFFIX,
85    L2_BACKUP_PAGER_SUFFIX, L2_BLOB_MAGIC, L2_CONTROL_MAGIC, L2_FORMAT_V1_RAW, L2_FORMAT_V2_FRAMED,
86    L2_FRAME_TAG_RAW, L2_FRAME_TAG_ZSTD, L2_METADATA_MAGIC,
87};
88pub use bloom_segment::{
89    decode_bloom_segment_frame, encode_bloom_segment_frame, BloomSegmentFrame,
90    BloomSegmentFrameError, BLOOM_SEGMENT_HEADER_LEN,
91};
92pub use btree_value_layout::{
93    btree_projected_cell_len, btree_value_pointer_head, decode_btree_inline_payload,
94    decode_btree_value_cell, encode_btree_inline_compressed, encode_btree_inline_raw,
95    encode_btree_pointer, BTreeValueCell, BTreeValueCellError, BTREE_VALUE_MAX_SIZE,
96    BTREE_VALUE_OVERFLOW_THRESHOLD, BTREE_VALUE_POINTER_CELL_LEN,
97};
98pub use column_block::{
99    column_block_crc32, decode_column_block_frame, decode_column_block_granule_bloom_blob,
100    decode_column_block_granule_index_blob, encode_column_block_frame,
101    encode_column_block_granule_bloom_blob, encode_column_block_granule_index_blob,
102    peek_column_block_version, ColumnBlockColumn, ColumnBlockFrame, ColumnBlockFrameError,
103    ColumnBlockGranuleBloom, ColumnBlockGranuleIndex, ColumnBlockGranuleStats, ColumnBlockPart,
104    COLUMN_BLOCK_DIR_ENTRY_LEN, COLUMN_BLOCK_FOOTER_LEN, COLUMN_BLOCK_HEADER_LEN,
105};
106pub use control_store::{
107    DurableLastVote, FileLastVoteStore, FileTermStore, DEFAULT_FILE_TERM, LAST_VOTE_TEMP_EXTENSION,
108    TERM_TEMP_EXTENSION,
109};
110pub use embedded::{
111    EmbeddedRdbArtifact, EmbeddedRdbManifest, EmbeddedRdbOpen, EmbeddedRdbSuperblock, RdbFileError,
112    RdbFileResult, DEFAULT_FORMAT_VERSION, EMBEDDED_RDB_MANIFEST_OFFSET,
113    EMBEDDED_RDB_SUPERBLOCK_0_OFFSET, EMBEDDED_RDB_SUPERBLOCK_1_OFFSET,
114    EMBEDDED_RDB_SUPERBLOCK_SIZE,
115};
116pub use file_format::{
117    clear_paged_page_checksum, database_header_freelist_head, database_header_magic_matches,
118    database_header_page_count, database_header_page_size, decode_database_header,
119    decode_paged_dwb_frame, decode_paged_encryption_header, decode_paged_page_header,
120    encode_database_header, encode_paged_dwb_frame, encode_paged_encryption_header,
121    encode_paged_page_header, init_database_header_page, paged_cell_bytes, paged_cell_key_value,
122    paged_cell_len, paged_cell_pointer, paged_cell_pointer_is_valid, paged_cell_pointer_offset,
123    paged_cell_total_len, paged_encryption_header_bytes, paged_encryption_marker_present,
124    paged_page_cell_count, paged_page_checksum, paged_page_free_end, paged_page_free_start,
125    paged_page_id, paged_page_lsn, paged_page_parent_id, paged_page_right_child, paged_page_type,
126    set_database_header_freelist_head, set_database_header_page_count, set_database_header_version,
127    set_paged_cell_pointer, set_paged_page_cell_count, set_paged_page_checksum,
128    set_paged_page_free_end, set_paged_page_free_start, set_paged_page_lsn,
129    set_paged_page_parent_id, set_paged_page_right_child, write_paged_cell,
130    write_paged_encryption_marker_and_header, DatabaseHeader, DatabaseHeaderError, PagedDwbEntry,
131    PagedDwbFrameError, PagedEncryptionHeader, PagedPageHeader, PhysicalFileHeader,
132    BLOOM_SEGMENT_MAGIC, COLUMN_BLOCK_MAGIC, COLUMN_BLOCK_VERSION_V1, DWB_MAGIC,
133    PAGED_CELL_HEADER_SIZE, PAGED_CELL_POINTER_SIZE, PAGED_DWB_ENTRY_HEADER_SIZE,
134    PAGED_DWB_ENTRY_SIZE, PAGED_DWB_HEADER_SIZE, PAGED_ENCRYPTION_HEADER_SIZE,
135    PAGED_ENCRYPTION_KEY_CHECK_BLOB_SIZE, PAGED_ENCRYPTION_KEY_CHECK_PLAINTEXT_SIZE,
136    PAGED_ENCRYPTION_MARKER, PAGED_ENCRYPTION_MARKER_OFFSET, PAGED_ENCRYPTION_SALT_SIZE,
137    PAGED_PAGE_HEADER_SIZE, PAGED_PAGE_SIZE, PAGE_FILE_MAGIC, PAGE_FILE_VERSION,
138    VECTOR_BTREE_FORMAT_VERSION, VECTOR_BTREE_FORMAT_VERSION_V1, VECTOR_BTREE_FORMAT_VERSION_V2,
139};
140pub use graph_label_registry::{
141    decode_graph_label_registry_frame, encode_graph_label_registry_frame, GraphLabelRegistryEntry,
142    GraphLabelRegistryFrameError, GRAPH_LABEL_REGISTRY_MAX_LABEL_LEN,
143};
144pub use graph_record::{
145    decode_graph_edge_record_v1, decode_graph_edge_record_v2, decode_graph_node_record_v1,
146    decode_graph_node_record_v2, decode_graph_table_ref, encode_graph_edge_record_v2,
147    encode_graph_node_record_v2, encode_graph_table_ref, graph_edge_record_v2_encoded_size,
148    graph_node_record_v2_encoded_size, GraphEdgeRecord, GraphNodeRecord, GraphTableRef,
149    GraphVectorRef, LegacyGraphEdgeRecord, LegacyGraphNodeRecord, GRAPH_EDGE_HEADER_SIZE,
150    GRAPH_EDGE_HEADER_SIZE_V1, GRAPH_MAX_ID_SIZE, GRAPH_MAX_LABEL_SIZE,
151    GRAPH_NODE_FLAG_HAS_TABLE_REF, GRAPH_NODE_FLAG_HAS_VECTOR_REF, GRAPH_NODE_HEADER_SIZE,
152    GRAPH_NODE_HEADER_SIZE_V1, GRAPH_TABLE_REF_SIZE, GRAPH_VECTOR_REF_HEADER_SIZE,
153};
154pub use graph_store::{
155    decode_graph_store_frame, encode_graph_store_frame, GraphStoreFrame, GraphStoreFrameError,
156    GRAPH_STORE_HEADER_LEN, GRAPH_STORE_MAGIC, GRAPH_STORE_PAGE_COUNT_BYTES,
157    GRAPH_STORE_REGISTRY_LEN_BYTES, GRAPH_STORE_VERSION_V1, GRAPH_STORE_VERSION_V2,
158};
159pub use graph_table_index::{
160    decode_graph_table_index_frame, encode_graph_table_index_frame, GraphTableIndexEntry,
161    GraphTableIndexFrameError, GRAPH_TABLE_INDEX_ENTRY_HEADER_LEN, GRAPH_TABLE_INDEX_HEADER_LEN,
162    GRAPH_TABLE_INDEX_MAX_NODE_ID_LEN,
163};
164pub use hnsw_index_codec::{
165    decode_hnsw_index, encode_hnsw_index, HnswCodecError, HnswIndexLayout, HnswNodeLayout,
166    HNSW_INDEX_MAGIC, HNSW_INDEX_VERSION,
167};
168pub use ivf_index_codec::{
169    decode_ivf_index, encode_ivf_index, IvfCodecError, IvfIndexLayout, IvfListLayout,
170    IVF_INDEX_MAGIC,
171};
172pub use layout::{
173    audit_log_rotated_compressed_path, audit_log_rotated_plain_path, data_file_name,
174    default_database_path, default_service_database_path, engine_wal_path, legacy_audit_log_path,
175    legacy_logical_slots_path, legacy_logical_slots_temp_path, legacy_slow_query_log_path,
176    local_cas_lock_path, local_upload_temp_path, logical_wal_path, logical_wal_path_in,
177    logical_wal_temp_path, pager_dwb_path, pager_dwb_shadow_path, pager_header_path,
178    pager_header_shadow_path, pager_legacy_wal_path, pager_meta_path, pager_meta_shadow_path,
179    pager_shadow_sidecar_paths, parse_audit_log_rotated_timestamp, physical_export_data_path,
180    physical_metadata_binary_path, physical_metadata_journal_path,
181    physical_metadata_journal_prefix, physical_metadata_json_path, primary_replica_root,
182    primary_wal_segment_file_name, rebootstrap_intent_log_path, rebootstrap_pending_path,
183    rebootstrap_previous_path, rebootstrap_ready_marker_path, rebootstrap_staging_root,
184    relay_segment_relative_path, serverless_cache_root, serverless_namespace, serverless_root,
185    shm_path, sibling_path, sidecar_file_name, store_commit_coord_temp_wal_file_name,
186    store_commit_coord_temp_wal_path, support_dir_for, temp_path, temp_path_in, unified_wal_path,
187    unified_wal_path_in, LayoutOverrides, LayoutToggles, LogDestination, LogRoutingOverrides,
188    StorageLayout, TieredLayoutPaths, DEFAULT_DATABASE_FILE_NAME, DEFAULT_SERVICE_DATABASE_PATH,
189};
190pub use local_backend::{local_backend_atomic_upload, local_backend_download};
191pub use logical_wal::{
192    build_logical_wal_seek_index, encode_logical_wal_v2_for_compat, encode_logical_wal_v3,
193    read_and_repair_logical_wal_entries, read_logical_wal_entries_from,
194    rewrite_logical_wal_entries, LogicalWalEntry, LOGICAL_WAL_CRC_LEN,
195    LOGICAL_WAL_SEEK_INDEX_INTERVAL, LOGICAL_WAL_SPOOL_MAGIC, LOGICAL_WAL_SPOOL_VERSION_CURRENT,
196    LOGICAL_WAL_SPOOL_VERSION_V1, LOGICAL_WAL_SPOOL_VERSION_V2, LOGICAL_WAL_SPOOL_VERSION_V3,
197    LOGICAL_WAL_V3_HEADER_LEN,
198};
199pub use native_artifact_codec::{
200    decode_document_pathvalue, decode_fulltext_index, decode_graph_adjacency,
201    encode_document_pathvalue, encode_fulltext_index, encode_graph_adjacency, DocPathValueIndex,
202    DocPathValueRecord, FulltextIndex, GraphAdjacencyEdge, NativeArtifactError,
203    DOC_PATHVALUE_MAGIC, FULLTEXT_INDEX_MAGIC, GRAPH_ADJACENCY_MAGIC,
204};
205pub use native_store::{
206    append_native_store_crc32_footer, decode_native_blob_page, decode_native_catalog_summary_page,
207    decode_native_collection_roots_page, decode_native_dump_collection_header,
208    decode_native_dump_count, decode_native_dump_cross_ref, decode_native_dump_entity_record,
209    decode_native_entity_record_frame, decode_native_len_prefixed_bytes,
210    decode_native_len_prefixed_string, decode_native_manifest_summary_page,
211    decode_native_metadata_overflow_continuation_header, decode_native_metadata_overflow_header,
212    decode_native_metadata_state_summary_page, decode_native_paged_collection_root,
213    decode_native_paged_cross_ref, decode_native_paged_metadata_header,
214    decode_native_recovery_summary_page, decode_native_registry_summary_page,
215    decode_native_store_header, decode_native_vector_artifact_store_page, encode_native_blob_page,
216    encode_native_catalog_summary_page, encode_native_collection_roots_page,
217    encode_native_dump_collection_header, encode_native_dump_count, encode_native_dump_cross_ref,
218    encode_native_dump_entity_record, encode_native_entity_record_frame,
219    encode_native_len_prefixed_bytes, encode_native_len_prefixed_str,
220    encode_native_manifest_summary_page, encode_native_metadata_overflow_continuation_header,
221    encode_native_metadata_overflow_header, encode_native_metadata_state_summary_page,
222    encode_native_paged_collection_root, encode_native_paged_cross_ref,
223    encode_native_paged_metadata_header, encode_native_recovery_summary_page,
224    encode_native_registry_summary_page, encode_native_store_header,
225    encode_native_vector_artifact_store_page, is_supported_store_version,
226    native_blob_chunk_capacity, native_store_magic_matches, native_store_page_checksum,
227    verify_native_store_crc32_footer, write_native_store_bytes_atomically,
228    NativeCatalogCollectionSummary, NativeCatalogSummary, NativeDumpCollectionHeader,
229    NativeDumpCrossRef, NativeEntityRecordFrame, NativeExportSummary, NativeManifestEntrySummary,
230    NativeManifestSummary, NativeMetadataOverflowContinuationHeader, NativeMetadataOverflowHeader,
231    NativeMetadataStateSummary, NativePagedCollectionRoot, NativePagedCrossRef,
232    NativePagedMetadataHeader, NativeRecoverySummary, NativeRegistryIndexSummary,
233    NativeRegistryJobSummary, NativeRegistryProjectionSummary, NativeRegistrySummary,
234    NativeSnapshotSummary, NativeVectorArtifactPageSummary, NativeVectorArtifactSummary,
235    ENTITY_RECORD_MAGIC, METADATA_HEADER_BYTES, METADATA_MAGIC,
236    METADATA_OVERFLOW_CONTINUATION_HEADER_BYTES, METADATA_OVERFLOW_HEADER_BYTES,
237    METADATA_OVERFLOW_MAGIC, NATIVE_BLOB_MAGIC, NATIVE_BLOB_PAGE_HEADER_BYTES,
238    NATIVE_CATALOG_MAGIC, NATIVE_COLLECTION_ROOTS_MAGIC, NATIVE_MANIFEST_MAGIC,
239    NATIVE_MANIFEST_SAMPLE_LIMIT, NATIVE_METADATA_STATE_MAGIC, NATIVE_RECOVERY_MAGIC,
240    NATIVE_REGISTRY_MAGIC, NATIVE_VECTOR_ARTIFACT_MAGIC, STORE_MAGIC, STORE_VERSION_CURRENT,
241    STORE_VERSION_V1, STORE_VERSION_V2, STORE_VERSION_V3, STORE_VERSION_V4, STORE_VERSION_V5,
242    STORE_VERSION_V6, STORE_VERSION_V7, STORE_VERSION_V8, STORE_VERSION_V9,
243};
244pub use operational_manifest::OperationalManifest;
245pub use physical_metadata::{
246    copy_physical_export_data_file, copy_physical_metadata_binary_to_journal,
247    decode_persisted_physical_hypertable_chunk_json, decode_persisted_physical_hypertable_json,
248    decode_persisted_physical_index_state_json, decode_physical_analytical_storage_json,
249    decode_physical_analytics_job_json, decode_physical_analytics_view_descriptor_json,
250    decode_physical_block_reference_json, decode_physical_catalog_snapshot_json,
251    decode_physical_collection_contract_json, decode_physical_declared_column_contract_json,
252    decode_physical_export_descriptor_json, decode_physical_graph_projection_json,
253    decode_physical_manifest_event_json, decode_physical_manifest_pointers_json,
254    decode_physical_metadata_document, decode_physical_metadata_document_root_json,
255    decode_physical_schema_manifest_json, decode_physical_snapshot_descriptor_json,
256    decode_physical_subscription_descriptor_json, decode_physical_superblock_json,
257    decode_physical_tree_definition_json, encode_persisted_physical_hypertable_chunk_json,
258    encode_persisted_physical_hypertable_json, encode_persisted_physical_index_state_json,
259    encode_physical_analytical_storage_json, encode_physical_analytics_job_json,
260    encode_physical_analytics_view_descriptor_json, encode_physical_block_reference_json,
261    encode_physical_catalog_snapshot_json, encode_physical_collection_contract_json,
262    encode_physical_declared_column_contract_json, encode_physical_export_descriptor_json,
263    encode_physical_graph_projection_json, encode_physical_manifest_event_json,
264    encode_physical_manifest_pointers_json, encode_physical_metadata_binary_document,
265    encode_physical_metadata_document_root_json, encode_physical_metadata_json_document,
266    encode_physical_schema_manifest_json, encode_physical_snapshot_descriptor_json,
267    encode_physical_subscription_descriptor_json, encode_physical_superblock_json,
268    encode_physical_tree_definition_json, list_physical_metadata_journal_paths,
269    physical_manifest_block_reference, physical_superblock_checkpoint_event,
270    physical_superblock_object_key, prune_physical_metadata_journal_paths,
271    read_physical_metadata_document, write_physical_metadata_binary_document,
272    write_physical_metadata_json_document, BlockReference, ExportDescriptor, ManifestEvent,
273    ManifestEventKind, ManifestPointers, PersistedPhysicalHypertable,
274    PersistedPhysicalHypertableChunk, PersistedPhysicalIndexState, PhysicalAnalyticalStorageConfig,
275    PhysicalAnalyticsJob, PhysicalAnalyticsViewDescriptor, PhysicalCatalogCollectionStats,
276    PhysicalCatalogSnapshot, PhysicalCollectionContract, PhysicalDeclaredColumnContract,
277    PhysicalGraphProjection, PhysicalMetadataDocumentEnvelope, PhysicalPageLocation,
278    PhysicalSchemaManifest, PhysicalSchemaOptions, PhysicalSqlTypeName,
279    PhysicalSubscriptionDescriptor, PhysicalTreeDefinition, PhysicalTypeModifier,
280    SnapshotDescriptor, SuperblockHeader, DEFAULT_PHYSICAL_FORMAT_VERSION,
281    DEFAULT_SUPERBLOCK_COPIES, PHYSICAL_METADATA_PROTOCOL_VERSION, PHYSICAL_SYSTEM_COLLECTION,
282};
283pub use physical_metadata_policy::{
284    fold_dwb_into_wal_enabled, fold_pager_meta_enabled, meta_json_sidecar_enabled,
285    seqn_journal_enabled, seqn_journal_retention, set_fold_dwb_into_wal_enabled,
286    set_fold_pager_meta_enabled, set_meta_json_sidecar_enabled, set_seqn_journal_enabled,
287    set_seqn_journal_retention, DEFAULT_METADATA_JOURNAL_RETENTION,
288    OPT_IN_METADATA_JOURNAL_RETENTION,
289};
290pub use ui_bundle_cache::{
291    decode_ui_bundle_manifest_json, encode_ui_bundle_manifest_json, promote_ui_bundle_staging,
292    ui_bundle_cache_root, ui_bundle_manifest_path, ui_bundle_manifest_temp_path,
293    ui_bundle_purge_dir, ui_bundle_purge_root, ui_bundle_staging_dir, ui_bundle_staging_root,
294    ui_bundle_version_dir, write_ui_bundle_manifest, UiBundleManifest, UI_BUNDLE_CACHE_DIR_NAME,
295    UI_BUNDLE_MANIFEST_FILE, UI_BUNDLE_PURGE_DIR_NAME, UI_BUNDLE_STAGING_DIR_NAME,
296};
297
298pub use primary_replica::{
299    cleanup_rebootstrap_artifacts, decode_rebootstrap_ready_marker_json,
300    discard_ready_rebootstrap_marker, encode_rebootstrap_ready_marker_json,
301    promote_rebootstrap_pending_database, read_rebootstrap_ready_marker,
302    write_rebootstrap_ready_marker, BaseBackupChunkRef, BaseBackupPlan,
303    PrimaryReplicaBaseBackupManifest, PrimaryReplicaFilePlan, PrimaryReplicaWalRecord,
304    PrimaryReplicaWalSegment, PromotionCandidate, RejoinDecision, RelayLogSegmentRef, ReplicaAck,
305    ReplicaCatchupMode, ReplicaRebootstrapReadyMarker, ReplicaRelayLogManifest,
306    ReplicaRelayLogRecord, ReplicaRelayLogSegment, ReplicationDurability, ReplicationSlot,
307    ReplicationSlotCatalog, ReplicationSlotInvalidationCause, TimelineHistory,
308    TimelineHistoryEntry, TimelineId, WalPruneResult, WalRetentionPlan, WalRetentionPolicy,
309};
310pub use profile::{FileArtifactKind, FileProfile};
311pub use serverless::{
312    decode_serverless_writer_lease_json, encode_serverless_writer_lease_json,
313    serverless_writer_lease_key, serverless_writer_lease_temp_path, ServerlessBootIndex,
314    ServerlessBootIndexEntry, ServerlessBootPlan, ServerlessCacheEntry,
315    ServerlessCacheEvictionPlan, ServerlessCachePolicy, ServerlessContentHash,
316    ServerlessExtentIndex, ServerlessExtentRef, ServerlessFilePlan, ServerlessGenerationPointer,
317    ServerlessHydratedRange, ServerlessHydrationPlan, ServerlessHydrationRequest,
318    ServerlessLocalCache, ServerlessManifest, ServerlessManifestEntry, ServerlessPackKind,
319    ServerlessSecondaryIndex, ServerlessSecondaryIndexEntry, ServerlessWriterLease,
320    ServerlessWriterLeaseTempFile, SERVERLESS_WRITER_LEASE_DEFAULT_TERM,
321};
322pub use shm::{
323    initialize_shm_file, read_shm_header_from_file, write_shm_header_to_file, ShmHeader,
324    SHM_FILE_SIZE, SHM_HEADER_SIZE, SHM_MAGIC, SHM_VERSION,
325};
326pub use spill::{
327    decode_spill_file_frame, default_spill_dir, encode_spill_file_frame, is_spill_file_path,
328    spill_file_name, SpillFileFrameError, DEFAULT_SPILL_DIR_NAME, SPILL_FILE_EXTENSION,
329    SPILL_FILE_HEADER_LEN, SPILL_FILE_MAGIC, SPILL_FILE_VERSION_V1, SPILL_FILE_VERSION_V2,
330};
331pub use store_wal::{
332    decode_store_wal_action_frame, encode_store_wal_action_frame, StoreWalActionFrame,
333    STORE_WAL_ACTION_VERSION,
334};
335pub use table_def_codec::{
336    decode_table_def, encode_table_def, ColumnLayout, ConstraintLayout, IndexLayout,
337    TableDefCodecError, TableDefLayout, TABLE_DEF_MAGIC,
338};
339pub use transaction_wal::{
340    decode_transaction_wal_entry_payload, decode_transaction_wal_record_frame,
341    encode_transaction_wal_entry_payload, encode_transaction_wal_record_frame,
342    transaction_wal_record_encoded_len, TransactionWalEntryPayload, TransactionWalRecordFrame,
343    TRANSACTION_WAL_RECORD_CHECKSUM_LEN, TRANSACTION_WAL_RECORD_HEADER_LEN,
344    TRANSACTION_WAL_RECORD_LEN_LEN, TRANSACTION_WAL_RECORD_MIN_LEN,
345};
346pub use turboquant_snapshot::{
347    read_turboquant_snapshot, write_turboquant_snapshot, TurboQuantSnapshotError,
348    TurboQuantSnapshotPayload, TURBOQUANT_SNAPSHOT_HEADER_BYTES,
349};
350pub use vault_export_envelope::{
351    decode as decode_vault_logical_export, encode as encode_vault_logical_export,
352    VaultExportEnvelope, VaultExportEnvelopeError, VAULT_EXPORT_NONCE_SIZE, VAULT_EXPORT_SALT_SIZE,
353    VAULT_LOGICAL_EXPORT_AAD, VAULT_LOGICAL_EXPORT_MAGIC, VAULT_LOGICAL_EXPORT_VERSION,
354};
355pub use wal_header::{
356    decode_wal_file_header, encode_wal_file_header, next_main_wal_segment_boundary, WalFileHeader,
357    MAIN_WAL_SEGMENT_BYTES, WAL_FILE_HEADER_BYTES, WAL_FILE_MAGIC, WAL_FILE_VERSION,
358    WAL_FILE_VERSION_V2,
359};
360pub use wal_record::{
361    decode_main_wal_record_frame, encode_main_wal_record_frame, encode_main_wal_record_frame_into,
362    MainWalCompression, MainWalRecordFrame, MainWalRecordType, MAIN_WAL_DEFAULT_COMPRESS_THRESHOLD,
363};
364pub use zone_map::{
365    read_zone_map_sidecar, write_zone_map_sidecar, PersistedZone, ZoneMapPersistError,
366};