Architecture · docs/architecture/decisions/0003-catalogue-driven-types.md

ADR 0003: Discover types from catalogues

- Status: Accepted - Date: 2026-07-21

1 min read90 wordsSource synchronized
View source on GitHub
ON THIS PAGE

ADR 0003: Discover types from catalogues

  • Status: Accepted
  • Date: 2026-07-21

Context

PostgreSQL databases can contain user-defined and extension-provided types unknown when BlueTusk was compiled.

Decision

OID is the connection-local type identity. Load descriptors from PostgreSQL catalogues, bind codecs separately, and preserve unknown values with their descriptor, format, and bytes. Built-in OIDs are bootstrap information, not a closed type list.

Consequences

Pools require catalogue cache invalidation. Values cannot be interpreted by OID alone across unrelated servers. Extension codecs use the same registry as built-in codecs.