Task Details
Epic: #2978 (Phase 4: Query & Quality)
Priority: CRITICAL
Effort: 5 days
Dependencies: None
Description
Design abstraction for unified query execution across all languages (SQL, Cypher, Gremlin, etc.).
Steps
- Analyze current query execution patterns
- Design LogicalPlan abstraction
- Design PhysicalPlan abstraction
- Design Operator interface
- Design query optimization framework
- Create architecture diagram
- Write ADR
- Review with team
Files to Create
query-core/src/main/java/com/arcadedb/query/plan/LogicalPlan.java
query-core/src/main/java/com/arcadedb/query/plan/PhysicalPlan.java
query-core/src/main/java/com/arcadedb/query/plan/Operator.java
query-core/src/main/java/com/arcadedb/query/optimizer/QueryOptimizer.java
docs/architecture/ADR-005-unified-query-pipeline.md
Query Pipeline Design
Parse → LogicalPlan → Optimize → PhysicalPlan → Execute → ResultSet
Logical Plan Nodes: Scan, Filter, Project, Join, Aggregate, Sort, Limit
Physical Operators: IndexScan, TableScan, FilterOperator, ProjectOperator, NestedLoopJoin, HashJoin, HashAggregate, SortOperator, LimitOperator
Acceptance Criteria
Task Details
Epic: #2978 (Phase 4: Query & Quality)
Priority: CRITICAL
Effort: 5 days
Dependencies: None
Description
Design abstraction for unified query execution across all languages (SQL, Cypher, Gremlin, etc.).
Steps
Files to Create
query-core/src/main/java/com/arcadedb/query/plan/LogicalPlan.javaquery-core/src/main/java/com/arcadedb/query/plan/PhysicalPlan.javaquery-core/src/main/java/com/arcadedb/query/plan/Operator.javaquery-core/src/main/java/com/arcadedb/query/optimizer/QueryOptimizer.javadocs/architecture/ADR-005-unified-query-pipeline.mdQuery Pipeline Design
Logical Plan Nodes: Scan, Filter, Project, Join, Aggregate, Sort, Limit
Physical Operators: IndexScan, TableScan, FilterOperator, ProjectOperator, NestedLoopJoin, HashJoin, HashAggregate, SortOperator, LimitOperator
Acceptance Criteria