{"record":{"id":"0d91d049be8c9b9c","repo":"dbt-labs/dbt-core","slug":"get-catalog-integration-is-unavailable-in-fusion","errorCode":null,"errorMessage":"get_catalog_integration is unavailable in Fusion. Access catalogs metadata directly from a catalog relation obtained using adapter.build_catalog_relation(model: RelationConfig)","messagePattern":"get_catalog_integration is unavailable in Fusion\\. Access catalogs metadata directly from a catalog relation obtained using adapter\\.build_catalog_relation\\(model: RelationConfig\\)","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/dbt-adapter/src/adapter/mod.rs","lineNumber":3815,"sourceCode":"            }\n            Parse(_) => Ok(none_value()),\n        }\n    }\n\n    /// https://github.com/dbt-labs/dbt-adapters/blob/c16cc7047e8678f8bb88ae294f43da2c68e9f5cc/dbt-adapters/src/dbt/adapters/base/impl.py#L334\n    ///\n    /// ```python\n    /// def get_catalog_integration(\n    ///     self,\n    ///     name: str,\n    /// )  -> Optional[CatalogRelation]\n    /// ```\n    pub fn get_catalog_integration(\n        &self,\n        _state: &State,\n        _args: &[Value],\n    ) -> Result<Value, minijinja::Error> {\n        unimplemented!(\n            \"get_catalog_integration is unavailable in Fusion. Access catalogs metadata directly from a catalog relation obtained using adapter.build_catalog_relation(model: RelationConfig)\"\n        )\n    }\n}\n\nimpl Adapter {\n    pub fn call_method_impl(\n        self: &Arc<Self>,\n        state: &State,\n        name: &str,\n        args: &[Value],\n        _listeners: &[Rc<dyn RenderingEventListener>],\n    ) -> Result<Value, minijinja::Error> {\n        match name {\n            // macro_name: str, macro_namespace: Optional[str] = None\n            \"dispatch\" => self.dispatch(state, args),\n            \"execute\" => {\n                // sql: str, auto_begin: bool = False, fetch: bool = False, limit: Optional[int] = None","sourceCodeStart":3797,"sourceCodeEnd":3833,"githubUrl":"https://github.com/dbt-labs/dbt-core/blob/0267ce9170576975b76b64ce856b2e5848e96617/crates/dbt-adapter/src/adapter/mod.rs#L3797-L3833","documentation":"`get_catalog_integration` is intentionally unimplemented in dbt Fusion: catalog integration metadata must instead be accessed directly from a catalog relation built via `adapter.build_catalog_relation(model: RelationConfig)`. The method exists only to fail loudly and redirect developers to the new API. Unlike adapter-gated panics, this fires unconditionally for every adapter type — it is a permanent API-removal stub.","triggerScenarios":"Any invocation of `adapter.get_catalog_integration(...)` from a Jinja macro or Rust code — there is no adapter type or argument combination for which it succeeds.","commonSituations":"Porting macros from dbt-core that read the catalog integration object; external/vintage code relying on Snowflake catalog integrations; migrating packages to Fusion without updating catalog-related calls.","solutions":["Replace the call with `adapter.build_catalog_relation(relation_config)` and read catalog metadata from the returned catalog relation.","Refactor macros to derive catalog/integration info from the relation rather than a global integration object.","Consult the Fusion migration guide for catalog integration API changes."],"exampleFix":"// before\n{% set integration = adapter.get_catalog_integration() %}\n// after\n{% set catalog_relation = adapter.build_catalog_relation(model) %}\n{% set integration = catalog_relation.catalog_integration %}","handlingStrategy":"fallback","validationCode":"// Jinja: never call get_catalog_integration; use the replacement\n{% set catalog_relation = adapter.build_catalog_relation(model) %}","typeGuard":"null","tryCatchPattern":"null","preventionTips":["Search macros/packages for get_catalog_integration when migrating to Fusion","Use build_catalog_relation and read metadata from the returned relation","Follow the Fusion migration guide for catalog integration changes"],"tags":["unimplemented","api-migration","catalog","fusion"],"backgroundTag":"deprecated-api-usage","analyzedSha":"0267ce9170576975b76b64ce856b2e5848e96617","analyzedAt":"2026-09-07T21:53:39.732Z","contentChangedAt":"2026-09-07T21:53:39.732Z","schemaVersion":2},"datasetVersion":"2026-09-14T11:17:12.474Z"}