dbt-labs/dbt-core · error
verify_database is not implemented for the
Error message
verify_database is not implemented for the {} adapter What it means
unimplemented!() in verify_database: cross-database reference verification only has native implementations; for all Impl-backed adapters the call aborts with this message, so any Jinja macro invoking verify_database on those adapters crashes rather than getting a pass/fail verdict.
Solutions
- Default Impl adapters to a permissive Ok result where cross-db semantics don't apply
- Implement per-adapter checks where the warehouse enforces database scoping
- Map to a structured AdapterError before user code panics
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at crates/dbt-adapter/src/adapter/adapter_impl.rs:3747 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of dbt-labs/dbt-core@0267ce9170 (2026-09-07).
Data as JSON: /api/errors/891a3a60e7d6ead8.
Report an issue: GitHub.
Appendix: source
Thrown at crates/dbt-adapter/src/adapter/adapter_impl.rs:3747
{
return Err(AdapterError::new(
AdapterErrorKind::UnexpectedDbReference,
format!(
"Cross-db references allowed only in RA3.* node or with datasharing enabled ({database} vs {configured_database})"
),
));
}
}
Ok(Value::from(()))
}
Impl(
adapter_type @ (Snowflake | Bigquery | Databricks | Salesforce | Spark | Fabric
| Exasol | Starburst | Athena | Trino | Datafusion | Dremio
| Oracle),
_,
) => {
unimplemented!(
"verify_database is not implemented for the {} adapter",
adapter_type
)
}
}
}
/// Check if a given partition and clustering column spec for a table
/// can replace an existing relation in the database. BigQuery does not
/// allow tables to be replaced with another table that has a different
/// partitioning spec. This method returns True if the given config spec is
/// identical to that of the existing table.
///
/// BigQueryAdapter https://github.com/dbt-labs/dbt-adapters/blob/4a00354a497214d9043bf4122810fe2d04de17bb/dbt-bigquery/src/dbt/adapters/bigquery/impl.py#L541
pub fn is_replaceable(
&self,
conn: &'_ mut dyn Connection,
relation: &Arc<dyn BaseRelation>,View on GitHub (pinned to 0267ce9170)