Expand description
Runtime Jinja rendering: one environment per connection a Binding uses (its queries’ SQL) plus
one for output paths and template values. Provides run.*, var(), env_var(),
run_query(), columns(), ref(), source(), target.name, connection.*,
destination.*, profile(), the calendar functions in crate::dates and every macro in
macros/.
Mode::Parse renders without a database, as dbt’s parse does, to find every source() a
query calls: run_query() returns no rows, columns() none, connection.* nothing, and
raise_error() doesn’t fire. Limited renders the values that choose a connection or a
source (every profile:, a source’s database/schema/identifier), where only var(),
env_var(), run.* and target.name exist.
Structs§
- Column
- One column of a relation, as
columns()returns it. - Connection
- One profile target as templates see it:
connection.*,destination.*andprofile('name').*. - Limited
- Renders the values that choose a connection or a source: every
profile:value and a source’sprofile,database,schemaandidentifier. Onlyvar(),env_var(),run.*,target.nameand the calendar functions exist, because these are rendered before any connection is chosen: the parse pass,dre lsand the manifest need no database. - Query
Rows - Rows returned to templates by
run_query(). - Quoting
- Which parts of a source’s name to quote.
- Render
Error - Renderer
- Renderer
Config - Resolved
Source - A declared source table with its fields rendered for one Binding: what
source()returns. - RunContext
- Ambient
run.*context.
Enums§
Traits§
- Connections
- Where
connection,destinationandprofile()get their values.roleisconnectionordestination;Nonefinds the profile in whichever section has it. - Query
Runner - Executes
run_query()SQL on the Binding’s sessions: onprofile’s connection, else on the renderer’s own.
Functions§
- cli_
var_ value var()(--varfirst, then the Binding’s vars, then the default) andenv_var(). A--varvalue as YAML 1.2’s core rules read it:true/false,null/~, integers (no leading zeros), floats, and flow lists and maps ([a, b],{k: v}) are typed; anything else stays a string (yes,NO,2026-01-31,010,1.0.0). Quoting forces a string ('"false"'), and an empty value is the empty string.
Type Aliases§
- Source
Resolver - Resolves
source('name', 'table')for one Binding.