{"record":{"id":"52bbff16e584099f","repo":"dbt-labs/dbt-core","slug":"salesforce-column-creation-not-implemented-yet","errorCode":null,"errorMessage":"Salesforce column creation not implemented yet","messagePattern":"Salesforce column creation not implemented yet","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/dbt-adapter/src/column/column_builder.rs","lineNumber":106,"sourceCode":"            // TODO: BigQuery fields\n            Bigquery => Column::new_bigquery(name, dtype, &[], mode.unwrap_or_default()),\n            Redshift => Column::new(\n                Redshift,\n                name,\n                dtype,\n                char_size,\n                numeric_precision,\n                numeric_scale,\n            ),\n            Databricks | Spark => Column::new(\n                self.adapter_type,\n                name,\n                dtype,\n                char_size,\n                None, // numeric_precision\n                None, // numeric_scale\n            ),\n            Salesforce => todo!(\"Salesforce column creation not implemented yet\"),\n            ClickHouse => Column::new(\n                ClickHouse,\n                name,\n                dtype,\n                char_size,\n                numeric_precision,\n                numeric_scale,\n            ),\n            Exasol => Column::new(\n                Exasol,\n                name,\n                dtype,\n                char_size,\n                numeric_precision,\n                numeric_scale,\n            ),\n            Starburst => todo!(\"Starburst\"),\n            Athena => todo!(\"Athena\"),","sourceCodeStart":88,"sourceCodeEnd":124,"githubUrl":"https://github.com/dbt-labs/dbt-core/blob/0267ce9170576975b76b64ce856b2e5848e96617/crates/dbt-adapter/src/column/column_builder.rs#L88-L124","documentation":"A `todo!()` panic in `ColumnBuilder::build_from_parts` (column_builder.rs:106) for the Salesforce adapter. The manual Column construction path (used when precision/scale are supplied explicitly) has no Salesforce arm, so constructing a Column for Salesforce panics with 'Salesforce column creation not implemented yet'.","triggerScenarios":"Calling the public `build_from_parts(name, dtype, char_size, numeric_precision, numeric_scale)` with adapter type Salesforce — e.g. when relation/column metadata is rebuilt with explicit numeric precision from a schema definition.","commonSituations":"Column metadata reconstruction on a Salesforce adapter profile where a parsed schema carries numeric_precision/scale; also from adapter-coverage tests that sweep all adapter variants through build_from_parts.","solutions":["Avoid the Salesforce adapter for workflows that rebuild columns from parts until implemented.","Implement the Salesforce arm in column_builder.rs:106, choosing appropriate precision/scale semantics for Salesforce (SOQL decimal precision).","Replace `todo!()` with a clear unsupported-adapter error so callers can handle it."],"exampleFix":"// before\nSalesforce => todo!(\"Salesforce column creation not implemented yet\"),\n// after\nSalesforce => Ok(Column::new(\n    Salesforce, name, dtype, char_size, numeric_precision, numeric_scale,\n)),","handlingStrategy":"type-guard","validationCode":"if adapter == AdapterType::Salesforce {\n    return Err(anyhow!(\"Salesforce column creation is not implemented; cannot build_from_parts\"));\n}","typeGuard":"fn build_from_parts_supported(t: AdapterType) -> bool {\n    !matches!(t, AdapterType::Salesforce | AdapterType::Starburst | AdapterType::Athena | AdapterType::Trino | AdapterType::Dremio | AdapterType::Oracle | AdapterType::Datafusion)\n}","tryCatchPattern":"let res = std::panic::catch_unwind(AssertUnwindSafe(|| builder.build_from_parts(name, dtype, char_size, p, s)));\nmatch res { Ok(c) => c, Err(_) => Err(anyhow!(\"unsupported adapter for build_from_parts\")) }","preventionTips":["Verify the adapter arm exists in build_from_parts before constructing columns from explicit precision/scale","Avoid Salesforce for relation-column reconstruction workflows","Contribute a Salesforce arm with SOQL-appropriate precision semantics","Test all AdapterType variants against build_from_parts in CI"],"tags":["rust","adapter","todo-panic","salesforce","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"}