| 709 | |
| 710 | impl PartialOrd for Alias { |
| 711 | fn partial_cmp(&self, other: &Self) -> Option<Ordering> { |
| 712 | let cmp = self.expr.partial_cmp(&other.expr); |
| 713 | let Some(Ordering::Equal) = cmp else { |
| 714 | return cmp; |
| 715 | }; |
| 716 | let cmp = self.relation.partial_cmp(&other.relation); |
| 717 | let Some(Ordering::Equal) = cmp else { |
| 718 | return cmp; |
| 719 | }; |
| 720 | self.name |
| 721 | .partial_cmp(&other.name) |
| 722 | // TODO (https://github.com/apache/datafusion/issues/17477) avoid recomparing all fields |
| 723 | .filter(|cmp| *cmp != Ordering::Equal || self == other) |
| 724 | } |
| 725 | } |
| 726 | |
| 727 | impl Alias { |