Execute hash join (simplified implementation)
(
&self,
join_type: &crate::plan::logical::JoinType,
condition: Option<&Expression>,
build: &PhysicalNode,
probe: &PhysicalNode,
context: &mut Execution
| 3862 | |
| 3863 | /// Execute hash join (simplified implementation) |
| 3864 | fn execute_hash_join( |
| 3865 | &self, |
| 3866 | join_type: &crate::plan::logical::JoinType, |
| 3867 | condition: Option<&Expression>, |
| 3868 | build: &PhysicalNode, |
| 3869 | probe: &PhysicalNode, |
| 3870 | context: &mut ExecutionContext, |
| 3871 | graph: &Arc<GraphCache>, |
| 3872 | ) -> Result<Vec<Row>, ExecutionError> { |
| 3873 | // For now, fall back to nested loop join |
| 3874 | // A full hash join implementation would build a hash table on the build side |
| 3875 | self.execute_nested_loop_join(join_type, condition, build, probe, context, graph) |
| 3876 | } |
| 3877 | |
| 3878 | /// Convert AST literal to storage value |
| 3879 | fn literal_to_value(&self, literal: &crate::ast::Literal) -> Value { |
no test coverage detected