dbt-labs/dbt-core · error

count_occurrences_of_row

Error message

count_occurrences_of_row

What it means

Unimplemented agate Table method: count_occurrences_of_row should count how many times an entire row Value equals rows in this table, but the body is a todo!() stub. Any Jinja/compat code calling it aborts.

Solutions

  1. Compare the needle row element-wise against every row using agate value equality
  2. Short-circuit on length mismatch
  3. Return an unsupported error instead of panicking until implemented
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at crates/dbt-agate/src/table.rs:305 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/735f09bd586172f7. Report an issue: GitHub.

Appendix: source

Thrown at crates/dbt-agate/src/table.rs:305

            let row = Row::new(i, Arc::clone(self));
            Value::from_object(row)
        })
    }

    pub fn rows(self: &Arc<Self>) -> Rows {
        Rows::new(Arc::clone(self))
    }

    pub fn row_names(&self) -> Option<Tuple> {
        self.row_names.as_ref().map(|names| {
            let repr = RowNamesAsTuple::new(Arc::clone(names));
            let tuple = Tuple(Box::new(repr));
            tuple
        })
    }

    pub fn count_occurrences_of_row(&self, _needle: &Value) -> usize {
        todo!("count_occurrences_of_row")
    }

    pub fn index_of_row(&self, _needle: &Value) -> Option<usize> {
        todo!("index_of_row")
    }

    pub fn count_occurrences_of_value_in_row(
        self: &Arc<Self>,
        _needle: &Value,
        row_idx: isize,
    ) -> usize {
        let _row = self.row_by_index(row_idx).unwrap();
        todo!("count_occurrences_of_value_in_row")
    }

    pub fn index_of_value_in_row(
        self: &Arc<Self>,
        _needle: &Value,

View on GitHub (pinned to 0267ce9170)