{"record":{"id":"134c7abbf2af5afd","repo":"dbt-labs/dbt-core","slug":"only-available-for-snowflake","errorCode":null,"errorMessage":"Only available for snowflake","messagePattern":"Only available for snowflake","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/dbt-adapter/src/relation/relation_impl.rs","lineNumber":852,"sourceCode":"                            self.path.schema.as_deref().unwrap_or(\"\"),\n                            self.path.identifier.as_deref().unwrap_or(\"\")\n                        );\n                    }\n                    return Ok(\"iceberg\".to_string());\n                }\n\n                let is_transient = config\n                    .get_item(&Value::from(\"transient\"))\n                    .map(|v| v.is_true() || v.is_undefined())\n                    .unwrap_or(true);\n\n                Ok(if is_transient {\n                    \"transient\".to_string()\n                } else {\n                    String::new()\n                })\n            }\n            _ => Err(minijinja::Error::new(\n                minijinja::ErrorKind::InvalidOperation,\n                \"Only available for snowflake\",\n            )),\n        }\n    }\n\n    /// https://github.com/dbt-labs/dbt-adapters/blob/2a94cc75dba1f98fa5caff1f396f5af7ee444598/dbt-snowflake/src/dbt/adapters/snowflake/relation.py#L206\n    fn get_iceberg_ddl_options(\n        &self,\n        runtime_model_config: Value,\n    ) -> Result<String, minijinja::Error> {\n        match self.adapter_type {\n            AdapterType::Snowflake => {\n                // If the base_location_root config is supplied, overwrite the default value (\"_dbt/\")\n                let mut base_location = runtime_model_config\n                    .get_attr(\"base_location_root\")?\n                    .as_str()\n                    .unwrap_or(\"_dbt\")","sourceCodeStart":834,"sourceCodeEnd":870,"githubUrl":"https://github.com/dbt-labs/dbt-core/blob/0267ce9170576975b76b64ce856b2e5848e96617/crates/dbt-adapter/src/relation/relation_impl.rs#L834-L870","documentation":"get_ddl_prefix_for_create hit its Snowflake-only branch (transient/iceberg table prefixes) while the relation belongs to a different adapter — the guard fires because the Snowflake DDL prefix semantics are being requested for a non-Snowflake adapter.","triggerScenarios":"Thrown at crates/dbt-adapter/src/relation/relation_impl.rs:852 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Gate the calling macro on adapter type (is_snowflake) before requesting the prefix","Add the equivalent branch for the target adapter's dialect","Fall back to the generic (empty) prefix for non-Snowflake adapters"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0267ce9170576975b76b64ce856b2e5848e96617","analyzedAt":"2026-09-07T21:53:39.732Z","contentChangedAt":"2026-09-07T21:53:39.732Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}