Follow-up from the #220 dialect audit. The audit's recommendation was not to build a full
dialect/rendering seam in 3.x (deferred to 4.0), but it did identify a smaller, useful step:
a connection-owned capability descriptor - a fail-fast/warn check, not a renderer.
Idea
A small descriptor owned by the connection (product, version, engine, supported cast targets,
regex family, tuple-IN support, etc.) that BerlinDB can consult to reject or warn when a
query or DDL uses a construct the live server can't support - rather than emitting SQL that
errors at runtime on an older/other engine.
Scope guardrails (from the audit)
Deferring the real rendering seam to 4.0 is intentional; this is the inline 3.x step. See #220.
Follow-up from the #220 dialect audit. The audit's recommendation was not to build a full
dialect/rendering seam in 3.x (deferred to 4.0), but it did identify a smaller, useful step:
a connection-owned capability descriptor - a fail-fast/warn check, not a renderer.
Idea
A small descriptor owned by the connection (product, version, engine, supported cast targets,
regex family, tuple-
INsupport, etc.) that BerlinDB can consult to reject or warn when aquery or DDL uses a construct the live server can't support - rather than emitting SQL that
errors at runtime on an older/other engine.
Scope guardrails (from the audit)
seam. This is only a capability description + guard.
area: Database/Adapters), read from the live server wherepossible, with a conservative static fallback.
guards at runtime above it.
Deferring the real rendering seam to 4.0 is intentional; this is the inline 3.x step. See #220.