{"record":{"id":"8bbbbcfe8d11710a","repo":"dbt-labs/dbt-core","slug":"dremio-8bbbbc","errorCode":null,"errorMessage":"Dremio","messagePattern":"Dremio","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/dbt-adapter/src/relation/factory.rs","lineNumber":30,"sourceCode":"/// To be used as api.Relation in the Jinja environment\npub fn create_static_relation(\n    adapter_type: AdapterType,\n    quoting: ResolvedQuoting,\n) -> Option<Value> {\n    use AdapterType::*;\n    let result = match adapter_type {\n        Snowflake | Databricks | Spark | Fabric | DuckDB | LakeCompute | Exasol | Postgres\n        | Redshift | Salesforce | Bigquery | ClickHouse => {\n            let relation_type = RelationStatic {\n                adapter_type,\n                quoting,\n            };\n            StaticBaseRelationObject::new(Arc::new(relation_type))\n        }\n        Starburst => todo!(\"Starburst\"),\n        Athena => todo!(\"Athena\"),\n        Trino => todo!(\"Trino\"),\n        Dremio => todo!(\"Dremio\"),\n        Oracle => todo!(\"Oracle\"),\n        Datafusion => todo!(\"Datafusion\"),\n    };\n    Some(Value::from_object(result))\n}\n","sourceCodeStart":12,"sourceCodeEnd":36,"githubUrl":"https://github.com/dbt-labs/dbt-core/blob/0267ce9170576975b76b64ce856b2e5848e96617/crates/dbt-adapter/src/relation/factory.rs#L12-L36","documentation":"This is a Rust `todo!()` panic from `create_static_relation` in crates/dbt-adapter/src/relation/factory.rs:30. The `Dremio` match arm is an unimplemented placeholder, so calls resolving to `AdapterType::Dremio` panic with the message 'Dremio'. It marks Dremio static relation creation as not yet ported in the Rust adapter.","triggerScenarios":"Calling `create_static_relation` (directly, via `get_value`/`adapter_api_value`, or via the static-relation quote-policy tests) with `adapter_type == AdapterType::Dremio`.","commonSituations":"A dbt run with a Dremio profile whose jinja calls the relation factory; a developer enumerating all AdapterType variants in a test; integrating a new Dremio adapter before filling in the factory match arm.","solutions":["Implement the `Dremio` arm in `create_static_relation`, constructing the Dremio-specific `RelationStatic`/`StaticBaseRelationObject`","Check `adapter_type` at call sites and surface an unsupported-adapter error rather than reaching the placeholder","Restrict static relation factory usage to adapters with implemented arms"],"exampleFix":"// before\nDremio => todo!(\"Dremio\"),\n// after\nDremio => {\n    let relation_type = RelationStatic { adapter_type, quoting };\n    StaticBaseRelationObject::new(Arc::new(relation_type))\n}","handlingStrategy":"validation","validationCode":"if matches!(adapter_type, AdapterType::Dremio) {\n    return Err(\"create_static_relation is not implemented for Dremio\".into());\n}","typeGuard":"fn static_relation_supported(t: AdapterType) -> bool {\n    !matches!(t, AdapterType::Dremio | AdapterType::Starburst | AdapterType::Athena | AdapterType::Trino | AdapterType::Oracle | AdapterType::Datafusion)\n}","tryCatchPattern":"match std::panic::catch_unwind(|| create_static_relation(adapter_type)) {\n    Ok(v) => v,\n    Err(_) => return Err(\"create_static_relation unimplemented for Dremio\"),\n}","preventionTips":["Verify Dremio support exists in the relation factory before using jinja relation creation on a Dremio profile","Return typed errors from new match arms rather than todo!()","Keep an adapter-support matrix in CI covering every AdapterType variant"],"tags":["rust","panic","unimplemented","adapter","dremio"],"backgroundTag":"method-not-implemented","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"}