dbt-labs/dbt-core · error

only available with BigQuery or Salesforce adapter

Error message

only available with BigQuery or Salesforce adapter

What it means

todo!() in load_dataframe: the ingest/load_dataframe path is only implemented for BigQuery; when invoked with the Salesforce adapter the call aborts with this stub, so dataframe ingest on Salesforce cannot run in this build.

Solutions

  1. Implement Salesforce data loading (e.g. Bulk API 2.0) in load_dataframe
  2. Gate load_dataframe earlier and return a not-supported AdapterError for Salesforce
  3. Route Salesforce ingest through an adapter-native method if one exists
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at crates/dbt-adapter/src/adapter/adapter_impl.rs:3510 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/19165ea670e70382. Report an issue: GitHub.

Appendix: source

Thrown at crates/dbt-adapter/src/adapter/adapter_impl.rs:3510

                            INGEST_PATH.to_string(),
                            OptionValue::String(file_path.to_string()),
                        ),
                        (
                            INGEST_SCHEMA.to_string(),
                            OptionValue::Bytes(serialized_ingest_schema),
                        ),
                    ],
                    false,
                    token,
                )?;

                Ok(none_value())
            }
            Salesforce => todo!("load_dataframe() for the Salesforce adapter"),
            Postgres | Snowflake | Databricks | Redshift | Spark | DuckDB | LakeCompute
            | Fabric | ClickHouse | Exasol | Starburst | Athena | Trino | Datafusion | Dremio
            | Oracle => {
                unimplemented!("only available with BigQuery or Salesforce adapter")
            }
        }
    }

    /// This only supports non-nested columns additions
    ///
    /// Since internally this is only used by snapshot materialization macro where newly added
    /// columns all have non-nested data types, Read from
    /// [here](https://github.com/sdf-labs/fs/blob/9b87be839f6aa54cab1ab91cde2c77855758c396/crates/dbt-loader/src/dbt_macro_assets/dbt-adapters/macros/materializations/snapshots/snapshot.sql#L32-L33).
    /// This builds sql that creates the snapshot relation, and this relation only adds non-nested
    /// columns to the source relation it is supposed to work well for this use case due to
    /// limitation:
    /// https://cloud.google.com/bigquery/docs/managing-table-schemas#add_a_nested_column_to_a_record_column
    ///
    /// BigQueryAdapter https://github.com/dbt-labs/dbt-adapters/blob/0efd8d3d1081e1ab43e38797d5104f7b424a6284/dbt-bigquery/src/dbt/adapters/bigquery/impl.py#L742
    pub fn alter_table_add_columns(
        &self,
        state: &State,

View on GitHub (pinned to 0267ce9170)