Parentheses are explicit authored group nodes.

highlighted = computed this step

Parentheses are an expression tree

Parentheses are modeled as an explicit authored group node.

explicit tree shape\text{explicit tree shape}

Read grouped rows

The grouped expression has 2 TRUE rows.

group TRUE rows=2\text{group TRUE rows}=2

Boolean-filter examples are tiny finite WHERE-style filters with SQL-style TRUE/FALSE/UNKNOWN logic; SQL dialect completeness, type coercion, optimizer behavior, indexing, and product claims are out of scope.

Parentheses are an expression tree: base rowsParentheses are an expression tree: base rowsidagestatus130active217active3NULLactive440paused525NULL Boolean predicate evaluationBoolean predicate evaluationsourcevaluestruthkepttrace0[1, 30, active]TRUEyes[age ge 18 -> TRUE, status eqactive -> TRUE, status eq paused-> FALSE, OR(TRUE,FALSE) -> TRUE,AND(TRUE,TRUE) -> TRUE, GROUP ->TRUE]1[2, 17, active]FALSEno[age ge 18 -> FALSE, status eqactive -> TRUE, status eq paused-> FALSE, OR(TRUE,FALSE) -> TRUE,AND(FALSE,TRUE) -> FALSE, GROUP ->FALSE]2[3, NULL, active]UNKNOWNno[age ge 18 -> UNKNOWN, status eqactive -> TRUE, status eq paused-> FALSE, OR(TRUE,FALSE) -> TRUE,AND(UNKNOWN,TRUE) -> UNKNOWN,GROUP -> UNKNOWN]3[4, 40, paused]TRUEyes[age ge 18 -> TRUE, status eqactive -> FALSE, status eq paused-> TRUE, OR(FALSE,TRUE) -> TRUE,AND(TRUE,TRUE) -> TRUE, GROUP ->TRUE]4[5, 25, NULL]UNKNOWNno[age ge 18 -> TRUE, status eqactive -> UNKNOWN, status eqpaused -> UNKNOWN,OR(UNKNOWN,UNKNOWN) -> UNKNOWN,AND(TRUE,UNKNOWN) -> UNKNOWN,GROUP -> UNKNOWN] Boolean filter output rowsBoolean filter output rowsidagestatus130active440paused Boolean filter factsBoolean filter factsfactvalueinputRowCount5outputRowCount2trueRows2falseRows1unknownRows2rootKindgrouptreeGROUP(AND(age ge 18, OR(status eqactive, status eq paused)))rowOrdersource_order

No hidden precedence

The compiler follows the authored tree instead of guessing a different grouping.

authored grouping\text{authored grouping}

Summary

Grouping is data in the source, and the output is recomputed from it.

tree drives result\text{tree drives result}