1. dbt Labs Documentation
"Incremental models":
Reference for C: Under the "How do I use incremental models?" section
the first step listed is: "To use incremental models
you need to set the materialized configuration for a model to incremental."
Reference for B: The same section explains the second step: "You also need to tell dbt how to filter the rows for an incremental run... using the isincremental() macro." This macro is used within a WHERE clause.
Reference for D: The section "How do I use uniquekey?" states: "The optional uniquekey parameter enables updating existing rows instead of just appending new rows. If a uniquekey is specified
dbt will use a merge statement to build the model."
2. dbt Labs Documentation
"About materializations":
Reference for C: This page defines the incremental materialization: "Models can be configured as incremental... dbt will insert new records and update existing records in the table." This confirms materialized='incremental' is the foundational configuration.
3. dbt Labs Documentation
"BigQuery configs" (as an example of adapter-specific configs):
Reference for A: The partitionby configuration is listed as a specific configuration for warehouses like BigQuery to improve query performance by partitioning tables. It is described as a physical layout property
distinct from the logical filtering (WHERE clause) or update strategy (uniquekey) of the incremental model itself.