{"record":{"id":"c59ab6bbf5c9190b","repo":"dbt-labs/dbt-core","slug":"trino-c59ab6","errorCode":null,"errorMessage":"Trino","messagePattern":"Trino","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/dbt-adapter/src/column/column_builder.rs","lineNumber":38,"sourceCode":"        Self { adapter_type }\n    }\n\n    pub fn build(&self, field: &FieldRef, type_ops: &dyn TypeOps) -> AdapterResult<Column> {\n        use AdapterType::*;\n        match self.adapter_type {\n            Snowflake => Ok(Self::build_snowflake(field, type_ops)),\n            Bigquery => Ok(Self::build_bigquery(field, type_ops)),\n            Databricks | Spark => Ok(Self::build_databricks(field, type_ops)),\n            Redshift => Ok(Self::build_redshift(field, type_ops)),\n            Postgres | Salesforce | DuckDB | LakeCompute => {\n                Ok(Self::build_postgres_like(field, type_ops))\n            }\n            Fabric => Ok(Self::build_fabric(field, type_ops)),\n            ClickHouse => Self::build_clickhouse(field, type_ops),\n            Exasol => Ok(Self::build_exasol(field, type_ops)),\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    }\n\n    pub fn build_from_parts(\n        &self,\n        name: String,\n        dtype: String,\n        char_size: Option<u32>,\n        numeric_precision: Option<u64>,\n        numeric_scale: Option<u64>,\n        mode: Option<BigqueryColumnMode>,\n    ) -> Column {\n        use AdapterType::*;\n        match self.adapter_type {\n            Postgres => Column::new(","sourceCodeStart":20,"sourceCodeEnd":56,"githubUrl":"https://github.com/dbt-labs/dbt-core/blob/0267ce9170576975b76b64ce856b2e5848e96617/crates/dbt-adapter/src/column/column_builder.rs#L20-L56","documentation":"A `todo!()` panic in `ColumnBuilder::build` (column_builder.rs:38) for the Trino adapter. No column-building strategy exists for Trino, so any schema-to-column conversion under a Trino adapter panics with the message 'Trino'.","triggerScenarios":"Any of the public callers of `build` — schema_to_columns, get_column_schema_from_query, update_node_columns — invoked with adapter type Trino, e.g. during catalog queries or result-set schema extraction.","commonSituations":"Using a Trino adapter profile with dbt docs generate or tests that introspect query schemas. Frequently paired with the neighboring Starburst arm (Trino and Starburst share lineage).","solutions":["Use a supported adapter (e.g. Postgres-like or Exasol) for column schema workflows.","Implement the Trino arm by sharing `build_postgres_like` with Starburst, since Trino types are Presto/ANSI-like.","Replace the panic with a typed unsupported-adapter error for graceful handling."],"exampleFix":"// before\nTrino => todo!(\"Trino\"),\n// after\nTrino | Starburst => Ok(Self::build_postgres_like(field, type_ops)),","handlingStrategy":"type-guard","validationCode":"if adapter == AdapterType::Trino {\n    return Err(anyhow!(\"Trino column building is not implemented yet\"));\n}","typeGuard":"fn build_supported(t: AdapterType) -> bool {\n    matches!(t, Postgres | Salesforce | DuckDB | LakeCompute | Fabric | ClickHouse | Exasol)\n}","tryCatchPattern":"std::panic::catch_unwind(AssertUnwindSafe(|| builder.build(field, type_ops)))\n    .map_err(|_| anyhow!(\"column building unimplemented for Trino\"))?","preventionTips":["Avoid Trino profiles for docs generate / catalog workflows until supported","Implement Trino together with Starburst via build_postgres_like","Add a compile-time exhaustive-match lint or test for new AdapterType variants","Check the source dispatch table before assuming an adapter is schema-introspection ready"],"tags":["rust","adapter","todo-panic","trino","column-builder"],"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"}