{"record":{"id":"c9426cc1b844b435","repo":"dbt-labs/dbt-core","slug":"is-replaceable-is-only-available-with-bigquery-ada","errorCode":null,"errorMessage":"is_replaceable is only available with BigQuery adapter, not {}","messagePattern":"is_replaceable is only available with BigQuery adapter, not (.+?)","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/dbt-adapter/src/adapter/adapter_impl.rs","lineNumber":3818,"sourceCode":"                        let is_cluster_match = local_cluster_by\n                            .diff_from(Some(remote_cluster_by.as_ref()))\n                            .is_none();\n\n                        Ok(is_partition_match && is_cluster_match)\n                    }\n                    Err(e) => {\n                        if e.kind() == AdapterErrorKind::NotFound {\n                            Ok(true)\n                        } else {\n                            Err(e)\n                        }\n                    }\n                }\n            }\n            adapter_type @ (Postgres | Snowflake | Databricks | Redshift | Salesforce | Spark\n            | DuckDB | LakeCompute | Fabric | ClickHouse | Exasol | Starburst\n            | Athena | Trino | Datafusion | Dremio | Oracle) => {\n                unimplemented!(\n                    \"is_replaceable is only available with BigQuery adapter, not {}\",\n                    adapter_type\n                )\n            }\n        }\n    }\n\n    /// BigQueryAdapter https://github.com/dbt-labs/dbt-adapters/blob/0efd8d3d1081e1ab43e38797d5104f7b424a6284/dbt-bigquery/src/dbt/adapters/bigquery/impl.py#L956\n    pub fn upload_file(&self, _state: &State, _args: &[Value]) -> Result<Value, minijinja::Error> {\n        unimplemented!(\"upload_file\")\n    }\n\n    /// BigQueryAdapter https://github.com/dbt-labs/dbt-adapters/blob/0efd8d3d1081e1ab43e38797d5104f7b424a6284/dbt-bigquery/src/dbt/adapters/bigquery/impl.py#L670\n    pub fn parse_partition_by(&self, partition_by: Value) -> AdapterResult<Value> {\n        match self.adapter_type() {\n            Bigquery => {\n                // https://github.com/dbt-labs/dbt-adapters/blob/main/dbt-bigquery/src/dbt/adapters/bigquery/impl.py#L579-L586\n                // Pure config parse; safe for both BigQuery and Replay (when adapter type is BigQuery)","sourceCodeStart":3800,"sourceCodeEnd":3836,"githubUrl":"https://github.com/dbt-labs/dbt-core/blob/0267ce9170576975b76b64ce856b2e5848e96617/crates/dbt-adapter/src/adapter/adapter_impl.rs#L3800-L3836","documentation":"unimplemented!() in is_replaceable: deciding whether a relation can be replaced in place (partition/cluster match) is only meaningful and implemented for BigQuery; every other adapter type falls into this arm and aborts.","triggerScenarios":"Thrown at crates/dbt-adapter/src/adapter/adapter_impl.rs:3818 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Default non-BigQuery adapters to a dbt-core-compatible value (false/true) instead of aborting","Feature-gate the materialization code that calls is_replaceable to BigQuery","Return a structured AdapterError instead of unimplemented!()"],"exampleFix":null,"handlingStrategy":"fallback","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"}