Skip to content

SQL Query Node

Data/DataFusion

Execute a SQL statement against a DataFusion session. SELECT returns results as both a CSVTable (for analytics) and array of row objects (for iteration). Registered Lance tables also accept INSERT INTO, and UPDATE/DELETE with a WHERE clause that references at least one column (constant-only conditions like WHERE true are refused, as are subqueries and multi-table forms; writes return a single `count` row). Write any value that comes from outside the flow as a $placeholder and wire it into the pin that appears — never build the SQL string around it.

df_sql_querydata
Inputs4
Outputs4
Security exposure10/10
Packagedata

Ratings

Scores range from 0 to 10. Higher values mean more impact, exposure, or operational weight.

SecurityAttack surface and exposure impact.
10/10High
PrivacyPotential sensitivity of processed data.
10/10High
PerformanceRuntime or resource pressure.
8/10High
GovernancePolicy, audit, or compliance impact.
9/10High
ReliabilityOperational stability considerations.
8/10High
CostExternal or compute cost impact.
10/10High

Input Pins

4

Input

Execution
exec_in

Trigger execution

Session

Struct
session

DataFusion session with registered tables

DataFusionSessionDataFusionSession1 fields
cache_keystringrequired

Query

String
query

SQL query to execute (e.g., SELECT * FROM mytable WHERE column > 10). Use $placeholders for values that come from the flow (SELECT * FROM users WHERE id = $user_id) — each one adds an input pin to wire the value into. Placeholders stand for values only; table and column names cannot be parameterized.

Default SELECT * FROM data LIMIT 100

Params

Struct
params

Values for the query's $placeholders, as an object keyed by placeholder name without the $ (e.g. {"customer_id": 42}). Only needed when the query itself comes from a wire — a literal query derives one pin per placeholder instead. Where both supply the same name, the derived pin wins unless it is empty.

objectobject0 fields
No named fields in this schema.
Default {}

Output Pins

4

Done

Execution
exec_out

Query executed successfully

Table

Struct
table

Query results as a CSVTable (columnar format, good for analytics)

CSVTableCSVTable6 fields
namestring | null

Optional name/identifier for this table

titlestring | null

Optional title text found above the table in the source sheet

rangestring | null

Optional A1 range the table was extracted from (e.g. "A3:F42")

headersArray<string>required
itemsstringarray item
rowsArray<Array<Cell>>required
itemsArray<Cell>array item
itemsCellarray item
variant 1nullvariant
variant 2booleanvariant
variant 3integer:int64variant
format int64
variant 4number:doublevariant
format double
variant 5stringvariant
+1 more fields
sourceanyOf (2)
variant 1FlowPathvariant
pathstringrequired
store_refstringrequired
cache_store_refstring | null
variant 2nullvariant

Rows

Struct Array
rows

Query results as array of row structs with Flow-Like-compatible values

objectobject0 fields
No named fields in this schema.

Row Count

Integer
row_count

Number of rows in the result

Node Info

Internal name
df_sql_query
Category
Data/DataFusion
Version
3