Apply except operation
(self, right: LogicalPlan, all: bool)
| 678 | |
| 679 | /// Apply except operation |
| 680 | pub fn apply_except(self, right: LogicalPlan, all: bool) -> Self { |
| 681 | // Merge variables from both sides of the EXCEPT |
| 682 | let mut merged_variables = self.variables; |
| 683 | for (name, info) in right.variables { |
| 684 | merged_variables.insert(name, info); |
| 685 | } |
| 686 | |
| 687 | LogicalPlan { |
| 688 | root: LogicalNode::Except { |
| 689 | left: Box::new(self.root), |
| 690 | right: Box::new(right.root), |
| 691 | all, |
| 692 | }, |
| 693 | variables: merged_variables, // Except inherits variables from both sides |
| 694 | } |
| 695 | } |
| 696 | |
| 697 | /// Apply EXISTS subquery filter |
| 698 | pub fn apply_exists_subquery( |
no test coverage detected