ores.database

Table of Contents

Diagram

ores.database component diagram

Figure 1: ores.database

Summary

ores.database is the shared PostgreSQL access layer used by every domain service. It provides a connection pool (tenant_aware_pool), tenant and party context management, bitemporal CRUD operations, repository base helpers, and database-info entities for schema introspection. It also exposes a health_monitor and a postgres_listener_service for LISTEN/NOTIFY integration. All persistence code in domain services builds on this library.

Inputs

  • PostgreSQL connection string from service configuration.
  • Tenant and party identifiers set per request for row-level security.

Outputs

  • Pooled libpqxx connections scoped to tenant/party context.
  • Bitemporal entity CRUD results with version-conflict detection.

Entry points

  • include/ores.database/domain/database_options, context, tenant_aware_pool.
  • include/ores.database/repository/ — bitemporal operations, mapper helpers.
  • include/ores.database/service/health_monitor, postgres_listener_service, tenant_context, party_context.
  • include/ores.database/config/database_configuration parsing.

Dependencies

  • libpqxx — PostgreSQL C++ client.
  • ores.logging — structured logging.

Entity modules

Module Brief
ores.database Logical entities for the database namespace.

See also

Emacs 29.1 (Org mode 9.6.6)