Expand description
PostgreSQL metadata adapter for AHRI TRE.
This crate keeps metadata persistence behind PostgreSQL/libpq-oriented boundaries. It exposes direct PostgreSQL connectivity, OAuth-backed executor support, read/write models for the metadata schema, and a repository implementation for the core domain traits.
Schema-pending read models are exposed under the root-level provisional
module, and provisional read paths are named explicitly.
ⓘ
use ahri_tre_pgmeta::provisional::PgVariableMappingReadModel;
// connection.list_variable_mappings_provisional()?;Re-exports§
pub use access_requests::AccessRequestCustodianApprovalOutcome;pub use access_requests::AccessRequestCustodianDecisionOutcome;pub use access_requests::AccessRequestCustodianInspection;pub use access_requests::AccessRequestDatastoreId;pub use access_requests::AccessRequestId;pub use access_requests::AccessRequestLifecycle;pub use access_requests::AccessRequestSubmission;pub use access_requests::AccessRequestSubmissionOutcome;pub use access_requests::AccessRequestWithdrawalOutcome;pub use access_requests::AuthenticatedCustodianStudyAccessRequestPort;pub use access_requests::BorrowedAuthenticatedCustodianStudyAccessRequestPort;pub use access_requests::CustodianAccessRequestInspectionRecord;pub use access_requests::CustodianStudyAccessRequest;pub use access_requests::CustodianStudyAccessRequestApproval;pub use access_requests::CustodianStudyAccessRequestRejection;pub use access_requests::CustodianStudyAccessRequestScope;pub use access_requests::RequesterStudyAccessRequest;pub use access_requests::RequesterStudyAccessRequestScope;pub use access_requests::StudyAccessRequestDecision;pub use access_requests::StudyAccessRequestMetadataExecutor;pub use adapter::DirectPostgresConnectConfig;pub use adapter::PgHealth;pub use adapter::PgMetadataAdapter;pub use adapter::PgMetadataConnection;pub use adapter::SchemaBootstrapReport;pub use datastore_creation::PgDatastoreCreationConnection;pub use datastore_creation::PgDatastoreCreationSpec;pub use datastore_creation::PgDatastoreCreationStart;pub use datastore_creation::PgDatastoreCredentialRotationError;pub use datastore_creation::PgDatastoreReconciliationError;pub use datastore_creation::PgDatastoreValidationSpec;pub use datastore_creation::PgPendingDatastoreCreation;pub use datastore_creation::apply_datastore_credential_rotation;pub use datastore_creation::begin_datastore_creation;pub use datastore_creation::find_existing_datastore_binding;pub use datastore_creation::inspect_datastore_identity_bindings;pub use datastore_creation::rollback_datastore_credential_rotation;pub use datastore_creation::validate_existing_datastore_postgresql;pub use datastore_identity::advance_ready_datastore_identity_lake_path;pub use datastore_identity::create_datastore_identity_table;pub use datastore_identity::datastore_identity_table_exists;pub use datastore_identity::datastore_identity_table_exists_oauth;pub use datastore_identity::insert_datastore_identity_binding;pub use datastore_identity::mark_datastore_identity_failed;pub use datastore_identity::mark_datastore_identity_ready;pub use datastore_identity::read_datastore_identity_bindings;pub use datastore_identity::read_datastore_identity_bindings_oauth;pub use datastore_identity::read_ready_datastore_identity_bindings;pub use datastore_identity::read_ready_datastore_identity_bindings_oauth;pub use datastore_identity::update_datastore_identity_credential;pub use discovery::DatastoreCandidateInspection;pub use discovery::DatastoreCandidateStatus;pub use discovery::DatastoreDiscoveryWarning;pub use discovery::DatastoreServerDiscovery;pub use discovery::discover_datastores;pub use discovery::discover_configured_datastore_with_ca;pub use discovery::discover_configured_datastore_with_ca_and_routing_address;pub use discovery::discover_datastores_with_ca;pub use error::PgMetaError;pub use execution::MetadataExecutor;pub use execution::MetadataParameters;pub use execution::MetadataTransaction;pub use read_models::METADATA_TABLES;pub use read_models::PgAssetReadModel;pub use read_models::PgAssetTagReadModel;pub use read_models::PgAssetVersionDuoRestrictionReadModel;pub use read_models::PgAssetVersionEntityReadModel;pub use read_models::PgAssetVersionReadModel;pub use read_models::PgAssetVersionRelationInstanceReadModel;pub use read_models::PgAssetVersionTagReadModel;pub use read_models::PgDataFileReadModel;pub use read_models::PgDatasetReadModel;pub use read_models::PgDatasetVariableReadModel;pub use read_models::PgDatasetVersionEntityReadModel;pub use read_models::PgDatasetVersionRelationInstanceReadModel;pub use read_models::PgDomainReadModel;pub use read_models::PgDomainTagReadModel;pub use read_models::PgDuoCodeReadModel;pub use read_models::PgDuoRestrictionReadModel;pub use read_models::PgEntityInstanceReadModel;pub use read_models::PgEntityReadModel;pub use read_models::PgEntityRelationReadModel;pub use read_models::PgEntityRelationTagReadModel;pub use read_models::PgEntityTagReadModel;pub use read_models::PgRelationInstanceReadModel;pub use read_models::PgStudyAccessReadModel;pub use read_models::PgStudyCustodianReadModel;pub use read_models::PgStudyDomainReadModel;pub use read_models::PgStudyEntityInstanceReadModel;pub use read_models::PgStudyReadModel;pub use read_models::PgStudyRelationInstanceReadModel;pub use read_models::PgStudyTagReadModel;pub use read_models::PgStudyTypeReadModel;pub use read_models::PgTagReadModel;pub use read_models::PgTagTarget;pub use read_models::PgTransformationInputReadModel;pub use read_models::PgTransformationOutputReadModel;pub use read_models::PgTransformationReadModel;pub use read_models::PgValueTypeReadModel;pub use read_models::PgVariableReadModel;pub use read_models::PgVariableTagReadModel;pub use read_models::PgVocabularyItemReadModel;pub use read_models::PgVocabularyMappingReadModel;pub use read_models::PgVocabularyReadModel;pub use repository::PgMetadataRepository;pub use repository::UploadMetadataDeadline;pub use schema::AccessRequestAuthority;pub use schema::CURRENT_DATASTORE_SCHEMA_VERSION;pub use schema::DatastoreMigrationAction;pub use schema::DatastoreMigrationApplyReport;pub use schema::DatastoreMigrationPlan;pub use schema::DatastoreMigrationScope;pub use schema::DatastoreMigrationStep;pub use schema::DatastoreSchemaCompatibility;pub use schema::DatastoreSchemaStatus;pub use schema::apply_datastore_schema_migration;pub use schema::datastore_schema_status;pub use schema::plan_datastore_schema_migration;pub use write_models::PgCreateAsset;pub use write_models::PgCreateAssetVersion;pub use write_models::PgCreateAssetVersionDuoRestriction;pub use write_models::PgCreateDataFile;pub use write_models::PgCreateDomain;pub use write_models::PgCreateDuoCode;pub use write_models::PgCreateEntity;pub use write_models::PgCreateEntityInstanceInStudy;pub use write_models::PgCreateEntityRelation;pub use write_models::PgCreateRelationInstanceInStudy;pub use write_models::PgCreateStudy;pub use write_models::PgCreateStudyDuoRestriction;pub use write_models::PgCreateTransformation;pub use write_models::PgCreateVariable;pub use write_models::PgCreateVocabulary;pub use write_models::PgCreateVocabularyItem;pub use write_models::PgCreateVocabularyMapping;pub use write_models::PgDuoQualifiers;pub use write_models::PgWriteEntityInstance;pub use write_models::PgWriteRelationInstance;pub use write_models::PgWriteStudyEntityInstance;pub use write_models::PgWriteStudyRelationInstance;pub use write_models::PgWriteTagTarget;
Modules§
- access_
requests - Typed Study access-request persistence boundary.
- adapter
- datastore_
creation - PostgreSQL-owned mechanics for starting a configured Datastore creation saga.
- datastore_
identity - discovery
- error
- execution
- governance
- Guarded Asset classification and operator-owned preserving conversion. Both direct and libpq Sessions use the same transaction/function boundary.
- preflight
- Read-only metadata diagnostic over an already selected service authority.
- provisional
- read_
models - PostgreSQL read models and query helpers for the metadata schema.
- repository
- schema
- semantic
- Durable semantic field origins. Missing provenance is never reconstructed from a shared Domain, a current Dataset link, or a Transformation label.
- semantic_
records - Bounded, revision-bound instance and composite-link readbacks.
- write_
models - PostgreSQL write models and insert/update helpers for metadata tables.
Structs§
- Dataset
Admission Receipt - Private evidence retained independently of public operation history.
- PgDataset
Maintenance - Configured maintenance authority exposes only known-attempt reconciliation. The underlying administrator connection never escapes this adapter boundary.
- PgDataset
Recovery - Exclusive cleanup authority for one known stopped attempt. It has no writer or metadata-admission interface and cannot replay the interrupted operation.
- PgDataset
Reservation - An accepted writer holds process exclusion until its last synchronous effect returns. Dropping it leaves the durable reservation for reconciliation.
- PgDataset
Reset - Administrative Lake replacement has no materialization/admission methods.
- PgOperation
Key - Serializes only admission for one actor-scoped key on a dedicated user connection. Dropping it after committed acceptance lets retries inspect the operation without waiting for Lake execution or occupying a worker permit.
- PgStudy
Lifecycle Guard - A synchronous destructive workflow excludes new Dataset admissions in its Study and refuses to start while any durable output reservation remains. The connection owns the lock, so connection loss releases it automatically.
- Recoverable
Dataset Attempt - Private attempt identity; this is independent of any public operation record.
Enums§
- Dataset
Admission Error - A failed admission distinguishes a known rollback from an unresolved outcome.
- Dataset
Admission State - Dataset
Reservation Error
Functions§
- provision_
orcid_ workflow_ entry - Creates or reuses the requester’s login role and grants inheriting membership in the configured OAuth group role.