Update the newly added note files and remove references to ignored files

This commit is contained in:
Hassan Abedi 2026-04-07 15:32:39 +02:00
parent b2aec58a85
commit 1599c82614
3 changed files with 30 additions and 28 deletions

View File

@ -47,15 +47,15 @@ A clean front end gives the engine:
## The pipeline in the companion repo ## The pipeline in the companion repo
Relevant modules: Relevant implementation areas:
- `tmp/how-query-engines-work/sql/src/main/kotlin/SqlTokenizer.kt` - SQL tokenization
- `tmp/how-query-engines-work/sql/src/main/kotlin/Tokens.kt` - SQL tokens and keywords
- `tmp/how-query-engines-work/sql/src/main/kotlin/SqlParser.kt` - SQL parsing
- `tmp/how-query-engines-work/sql/src/main/kotlin/Expressions.kt` - SQL AST expressions
- `tmp/how-query-engines-work/sql/src/main/kotlin/SqlPlanner.kt` - SQL-to-logical planning
- `tmp/how-query-engines-work/logical-plan/src/main/kotlin/LogicalPlan.kt` - logical plan interfaces
- `tmp/how-query-engines-work/logical-plan/src/main/kotlin/Expressions.kt` - logical expressions
Conceptually: Conceptually:
@ -368,4 +368,5 @@ It is what allows:
## Changelog ## Changelog
* **Apr 7, 2026** -- Removed references to ignored local `tmp/` paths.
* **Apr 7, 2026** -- Added a dedicated note on SQL tokenization, parsing, AST structure, and logical planning. * **Apr 7, 2026** -- Added a dedicated note on SQL tokenization, parsing, AST structure, and logical planning.

View File

@ -31,16 +31,16 @@ That makes the logical-to-physical boundary easy to study.
## The physical planning pipeline ## The physical planning pipeline
Relevant modules: Relevant implementation areas:
- `tmp/how-query-engines-work/query-planner/src/main/kotlin/QueryPlanner.kt` - query planning from logical to physical operators
- `tmp/how-query-engines-work/physical-plan/src/main/kotlin/PhysicalPlan.kt` - the physical-plan interface
- `tmp/how-query-engines-work/physical-plan/src/main/kotlin/ScanExec.kt` - scan execution
- `tmp/how-query-engines-work/physical-plan/src/main/kotlin/SelectionExec.kt` - selection execution
- `tmp/how-query-engines-work/physical-plan/src/main/kotlin/ProjectionExec.kt` - projection execution
- `tmp/how-query-engines-work/physical-plan/src/main/kotlin/HashAggregateExec.kt` - hash aggregation
- `tmp/how-query-engines-work/physical-plan/src/main/kotlin/HashJoinExec.kt` - hash join
- `tmp/how-query-engines-work/physical-plan/src/main/kotlin/LimitExec.kt` - limit execution
Conceptually: Conceptually:
@ -375,4 +375,5 @@ So this note should be read as a physical-plan primer, not as the full space of
## Changelog ## Changelog
* **Apr 7, 2026** -- Removed references to ignored local `tmp/` paths.
* **Apr 7, 2026** -- Added a dedicated note on physical planning, executable operators, and batch-oriented runtime behavior. * **Apr 7, 2026** -- Added a dedicated note on physical planning, executable operators, and batch-oriented runtime behavior.

View File

@ -49,18 +49,17 @@ So expressions are not side details. They are a large part of the engine's real
## The two-layer model ## The two-layer model
Relevant modules: Relevant implementation areas:
- `tmp/how-query-engines-work/logical-plan/src/main/kotlin/LogicalExpr.kt` - logical-expression interfaces and helpers
- `tmp/how-query-engines-work/logical-plan/src/main/kotlin/Expressions.kt` - physical-expression interfaces
- `tmp/how-query-engines-work/physical-plan/src/main/kotlin/expressions/Expressions.kt` - binary-expression evaluation
- `tmp/how-query-engines-work/physical-plan/src/main/kotlin/expressions/BinaryExpression.kt` - cast evaluation
- `tmp/how-query-engines-work/physical-plan/src/main/kotlin/expressions/CastExpression.kt` - aggregate-expression interfaces
- `tmp/how-query-engines-work/physical-plan/src/main/kotlin/expressions/AggregateExpression.kt` - schema and field definitions
- `tmp/how-query-engines-work/datatypes/src/main/kotlin/Schema.kt` - column-vector abstractions
- `tmp/how-query-engines-work/datatypes/src/main/kotlin/ColumnVector.kt` - record batches
- `tmp/how-query-engines-work/datatypes/src/main/kotlin/RecordBatch.kt` - Arrow-based type definitions
- `tmp/how-query-engines-work/datatypes/src/main/kotlin/ArrowTypes.kt`
The key distinction is: The key distinction is:
@ -381,4 +380,5 @@ That is why "choosing a type system" appears so early in the book. It affects mu
## Changelog ## Changelog
* **Apr 7, 2026** -- Removed references to ignored local `tmp/` paths.
* **Apr 7, 2026** -- Added a dedicated note on expressions, Arrow-based types, coercion, aggregates, and null handling. * **Apr 7, 2026** -- Added a dedicated note on expressions, Arrow-based types, coercion, aggregates, and null handling.