Node Type V2
Node Type V2 is a SQL-first authoring experience. You write a SQL SELECT in the Coalesce editor, in an IDE, or with an AI assistant. Coalesce infers columns, data types, and upstream dependencies. Per-Node options such as truncate-before-insert, Pre-SQL, and insert strategy are expressed as inline annotations in the SQL file.
Node types still use a YAML definition plus Create and Run templates. You declare which annotations a type supports in the definition, wire them in templates, then set values in each Node's SQL, or in Options when the definition exposes toggles and fields. See How V2 Annotations Reach Deployed SQL.
When V2 Fits Your Workflow
The mapping grid still works well for visual, low-code modeling. Choose V2 when SQL is the natural starting point:
- Migrating SQL into Coalesce - Bring existing SQL, dbt models, or stored procedure logic without splitting it into per-column mappings.
- CTE-heavy logic - Represent CTEs inside a single Node, which the mapping grid does not support.
- AI-generated SQL - Check in full
SELECTstatements and keep lineage and governance in Coalesce. - Code-first workflows - Version transformations as plain
.sqlfiles next to the rest of your code.
How V1 and V2 Differ
Use this table to compare authoring and storage. Execution, templates, and pipeline behavior are covered in the next section.
| V1 Node Type | Node Type V2 | |
|---|---|---|
| Authoring | Mapping grid | SQL editor |
| File format | .yml | .sql |
| Column definition | Manually mapped in the grid | Inferred from your SELECT clause; the column list is read-only in the UI |
| Source dependencies | Selected in the UI | Declared with {{ ref() }} in SQL |
| Per-Node configuration | Config panel on each Node | Inline SQL annotations and Options; see SQL Annotations Reference |
| CTE support | Not available inside a single Node | Supported natively |
| Node type specs | Config items in the YAML definition | Config items in the YAML definition declare which annotations the type supports; templates consume them |
V1 and V2 coexist in the same Workspace and pipeline. You choose the version per Node type, and {{ ref() }} works the same whether the upstream Node is V1 or V2.
The older inputMode: 'sql' setting on V1 Node type definitions is deprecated and will be removed in a future release. Node types that use it show a deprecation warning in the Coalesce App. See Upgrading from V1 to V2 Node Types to migrate.
How V2 Annotations Reach Deployed SQL
An annotation in Node SQL does not change warehouse behavior by itself. Work through these layers for every option you want to use, for example @truncateBefore, @preSQL, @insertStrategy, or column flags such as @isBusinessKey:
- Node type definition - Declare the option as a config item in the YAML definition so Coalesce registers the annotation, applies defaults, and can show Options controls. Match
attributeNameto the annotation name, for exampletruncateBeforefor@truncateBefore, or any name you define, such asmyLoadModefor@myLoadMode. See Node Config Options and Getting Started with Node Type V2. - Create and Run templates - Read the hydrated metadata in Jinja, for example
config.truncateBefore,config.preSQL.parameters, orcolumn.isBusinessKey, and emit the matching DDL or load stages. - Node SQL - Set the annotation on the Node, or use Options when the definition exposes the field.
If any layer is missing, the annotation may parse but the compiled plan can omit the stage you expect. That can surface as a successful run with no error, for example insert-only loads when truncate was intended.
What Stays the Same in Your Pipeline
Templates (Create, Run, Join, Macro), deployment, execution, DAG and column-level lineage, testing, and governance policies work the same as for other Node types.
Data Platform Support
Node Type V2 is supported on Snowflake.
What's Next?
- The V2 Editor for a tour of the interface.
- Getting Started with Node Type V2 to create your first V2 Node type and Node.
- SQL Annotations Reference for syntax, node type definition, and template wiring.
- Upgrading from V1 to V2 Node Types if you need to leave deprecated
inputMode: 'sql'. - Troubleshooting and FAQ for common authoring issues.