Skip to main content

negotiate_capabilities

Function negotiate_capabilities 

Source
pub async fn negotiate_capabilities<C: OracleConnection>(
    cx: &Cx,
    conn: &C,
) -> CatalogCapabilities
Expand description

Probe an OracleConnection for the dictionary surface it can actually reach. The loader records CatalogCapabilities from real probe outcomes instead of optimistic defaults, so downstream consumers can render an accurate doctor report and the right MissingPermissionReport rows.

The probes are intentionally cheap (WHERE rownum = 0 / BEGIN ... END blocks that no-op) and resilient to permission errors: each probe falls back to false on any error, with a typed CapabilityWarning carrying the probe name + Oracle error message + remediation hint.