{"record":{"id":"433e8de7884882f8","repo":"dbt-labs/dbt-core","slug":"trino-433e8d","errorCode":null,"errorMessage":"Trino","messagePattern":"Trino","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/dbt-adapter/src/metadata/get_relation.rs","lineNumber":85,"sourceCode":"        }\n        AdapterType::Spark => {\n            spark_get_relation(adapter, state, ctx, conn, schema, identifier, token)\n        }\n        AdapterType::DuckDB | AdapterType::LakeCompute => duckdb_get_relation(\n            adapter, state, ctx, conn, database, schema, identifier, token,\n        ),\n        AdapterType::Fabric => fabric_get_relation(\n            adapter, state, ctx, conn, database, schema, identifier, token,\n        ),\n        AdapterType::ClickHouse => clickhouse_get_relation(\n            adapter, state, ctx, conn, database, schema, identifier, token,\n        ),\n        AdapterType::Exasol => exasol_get_relation(\n            adapter, state, ctx, conn, database, schema, identifier, token,\n        ),\n        AdapterType::Starburst => todo!(\"Starburst\"),\n        AdapterType::Athena => todo!(\"Athena\"),\n        AdapterType::Trino => todo!(\"Trino\"),\n        AdapterType::Dremio => todo!(\"Dremio\"),\n        AdapterType::Oracle => todo!(\"Oracle\"),\n        AdapterType::Datafusion => todo!(\"Datafusion\"),\n    }\n}\n\n/// Parses an `INFORMATION_SCHEMA.ROUTINES`-shaped result batch into a\n/// [`Relation`].\npub(crate) fn relation_from_routines_batch(\n    adapter: &AdapterImpl,\n    database: &str,\n    schema: &str,\n    identifier: &str,\n    batch: &arrow::record_batch::RecordBatch,\n) -> AdapterResult<Option<Relation>> {\n    if batch.num_rows() == 0 {\n        return Ok(None);\n    }","sourceCodeStart":67,"sourceCodeEnd":103,"githubUrl":"https://github.com/dbt-labs/dbt-core/blob/0267ce9170576975b76b64ce856b2e5848e96617/crates/dbt-adapter/src/metadata/get_relation.rs#L67-L103","documentation":"This is a Rust `todo!()` panic: the `get_relation` dispatcher in dbt-adapter contains `todo!(\"Trino\")` because Trino relation lookup is not yet implemented. Any call resolving a relation with a Trino adapter panics with the message 'Trino'. It is a placeholder for future work, not a data or SQL error.","triggerScenarios":"Calling `get_relation` (public) with AdapterType::Trino; the match arm at crates/dbt-adapter/src/metadata/get_relation.rs:85 hits `todo!(\"Trino\")`.","commonSituations":"Running dbt against a Trino cluster (or Trino-backed catalogs) during a period when the Trino adapter is stubbed; the panic occurs as soon as dbt needs to check whether a relation exists.","solutions":["Switch to an adapter type with an implemented get_relation until Trino support lands","Implement trino_get_relation querying Trino's INFORMATION_SCHEMA.TABLES (or system metadata) and add it to the match","Pin a dbt-adapter version where the Trino arm is implemented","Add an early capability check so unsupported adapters error at configuration time rather than panicking mid-run"],"exampleFix":"// before\nAdapterType::Trino => todo!(\"Trino\"),\n// after\nAdapterType::Trino => trino_get_relation(\n    adapter, state, ctx, conn, database, schema, identifier, token,\n),","handlingStrategy":"validation","validationCode":"if adapter_type == AdapterType::Trino {\n    return Err(\"Trino get_relation is unimplemented; use a supported adapter\".into());\n}","typeGuard":"fn trino_ready(t: &AdapterType) -> bool { !matches!(t, AdapterType::Trino) }","tryCatchPattern":"std::panic::catch_unwind(|| get_relation(...))\n    .map_err(|_| AdapterError::NotImplemented(\"Trino get_relation\"))?","preventionTips":["Consult release notes for adapter support status before configuring Trino","Gate Trino targets behind a feature flag in your project config","Run a smoke get_relation check before full runs","Add CI coverage that fails when a registered AdapterType lacks metadata lookup"],"tags":["rust","todo-panic","adapter","unimplemented"],"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-14T16:17:12.679Z"}