dbt-labs/dbt-core · error

RelationComponentConfigChangeSet has no method named

Error message

RelationComponentConfigChangeSet has no method named '{name}'

What it means

Catch-all arm of the Jinja method dispatch on RelationComponentConfigChangeSet: only 'get' is implemented, so any other method name invoked on _configuration_changes.changes raises this UnknownMethod error.

Solutions

  1. Use the supported 'get' method
  2. Fix the typo in the template's method name
  3. Extend the match arm if a new accessor is genuinely needed
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at crates/dbt-adapter/src/relation/config_v2.rs:672 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/5bed252e44f315b4. Report an issue: GitHub.

Appendix: source

Thrown at crates/dbt-adapter/src/relation/config_v2.rs:672

            // support example `_configuration_changes.changes.get("tags", None)`
            "get" => {
                let key = parser.get::<Value>("key")?;
                let key = key.as_str().ok_or_else(|| {
                    minijinja::Error::new(
                        minijinja::ErrorKind::InvalidArgument,
                        "key must be a string",
                    )
                })?;

                Ok(self
                    .changes
                    .get(key)
                    .map(|v| v.to_jinja())
                    .unwrap_or_else(none_value))
            }
            "has_changes" => Ok(Value::from(!self.changes.is_empty())),
            "requires_full_refresh" => Ok(Value::from(self.requires_full_refresh())),
            _ => Err(minijinja::Error::new(
                minijinja::ErrorKind::UnknownMethod,
                format!("RelationComponentConfigChangeSet has no method named '{name}'"),
            )),
        }
    }

    fn get_value(self: &Arc<Self>, key: &Value) -> Option<Value> {
        use AdapterType::{Bigquery, Snowflake};
        match (self.adapter_type, key.as_str()?) {
            // Reference: https://github.com/dbt-labs/dbt-adapters/blob/bd80e5a9d4b7b3b0200872892ff41994586c72ef/dbt-bigquery/src/dbt/adapters/bigquery/relation_configs/_options.py#L190
            (Bigquery, "options") => {
                if self.changes.is_empty() {
                    None
                } else {
                    let obj = DynJinjaObject::<(), ValueMap>::empty("BigqueryOptionsConfigChange")
                        .with_repr(ValueMap::from([(
                            "context".into(),
                            Value::from_object(

View on GitHub (pinned to 0267ce9170)