Apply intersect operation
(self, right: LogicalPlan, all: bool)
| 660 | |
| 661 | /// Apply intersect operation |
| 662 | pub fn apply_intersect(self, right: LogicalPlan, all: bool) -> Self { |
| 663 | // Merge variables from both sides of the INTERSECT |
| 664 | let mut merged_variables = self.variables; |
| 665 | for (name, info) in right.variables { |
| 666 | merged_variables.insert(name, info); |
| 667 | } |
| 668 | |
| 669 | LogicalPlan { |
| 670 | root: LogicalNode::Intersect { |
| 671 | left: Box::new(self.root), |
| 672 | right: Box::new(right.root), |
| 673 | all, |
| 674 | }, |
| 675 | variables: merged_variables, // Intersect inherits variables from both sides |
| 676 | } |
| 677 | } |
| 678 | |
| 679 | /// Apply except operation |
| 680 | pub fn apply_except(self, right: LogicalPlan, all: bool) -> Self { |
no test coverage detected