@@ -30,6 +30,7 @@ use datafusion_common::tree_node::{Transformed, TransformedResult, TreeNode};
3030use  datafusion_common:: JoinType ; 
3131use  datafusion_physical_expr_common:: physical_expr:: format_physical_expr_list; 
3232
33+ #[ derive( Debug ,  Clone ) ]  
3334/// A structure representing a expression known to be constant in a physical execution plan. 
3435/// 
3536/// The `ConstExpr` struct encapsulates an expression that is constant during the execution 
@@ -40,10 +41,9 @@ use datafusion_physical_expr_common::physical_expr::format_physical_expr_list;
4041/// 
4142/// - `expr`: Constant expression for a node in the physical plan. 
4243/// 
43- /// - `across_partitions`: A boolean flag indicating whether the constant 
44- ///   expression is the same across partitions. If set to `true`, the constant 
45- ///   expression has same value for all partitions. If set to `false`, the 
46- ///   constant expression may have different values for different partitions. 
44+ /// - `across_partitions`: A boolean flag indicating whether the constant expression is 
45+ ///   valid across partitions. If set to `true`, the constant expression has same value for all partitions. 
46+ ///   If set to `false`, the constant expression may have different values for different partitions. 
4747/// 
4848/// # Example 
4949/// 
@@ -56,22 +56,11 @@ use datafusion_physical_expr_common::physical_expr::format_physical_expr_list;
5656/// // create a constant expression from a physical expression 
5757/// let const_expr = ConstExpr::from(col); 
5858/// ``` 
59- #[ derive( Debug ,  Clone ) ]  
6059pub  struct  ConstExpr  { 
61-     /// The  expression that is known to be constant (e.g. a `Column`) 
6260    expr :  Arc < dyn  PhysicalExpr > , 
63-     /// Does the constant have the same value across all partitions? See 
64- /// struct docs for more details 
6561    across_partitions :  bool , 
6662} 
6763
68- impl  PartialEq  for  ConstExpr  { 
69-     fn  eq ( & self ,  other :  & Self )  -> bool  { 
70-         self . across_partitions  == other. across_partitions 
71-             && self . expr . eq ( other. expr . as_any ( ) ) 
72-     } 
73- } 
74- 
7564impl  ConstExpr  { 
7665    /// Create a new constant expression from a physical expression. 
7766/// 
@@ -85,17 +74,11 @@ impl ConstExpr {
8574        } 
8675    } 
8776
88-     /// Set the `across_partitions` flag 
89- /// 
90- /// See struct docs for more details 
9177    pub  fn  with_across_partitions ( mut  self ,  across_partitions :  bool )  -> Self  { 
9278        self . across_partitions  = across_partitions; 
9379        self 
9480    } 
9581
96-     /// Is the  expression the same across all partitions? 
97- /// 
98- /// See struct docs for more details 
9982    pub  fn  across_partitions ( & self )  -> bool  { 
10083        self . across_partitions 
10184    } 
@@ -118,31 +101,6 @@ impl ConstExpr {
118101            across_partitions :  self . across_partitions , 
119102        } ) 
120103    } 
121- 
122-     /// Returns true if this constant expression is equal to the given expression 
123- pub  fn  eq_expr ( & self ,  other :  impl  AsRef < dyn  PhysicalExpr > )  -> bool  { 
124-         self . expr . eq ( other. as_ref ( ) . as_any ( ) ) 
125-     } 
126- 
127-     /// Returns a [`Display`]able list of `ConstExpr`. 
128- pub  fn  format_list ( input :  & [ ConstExpr ] )  -> impl  Display  + ' _  { 
129-         struct  DisplayableList < ' a > ( & ' a  [ ConstExpr ] ) ; 
130-         impl < ' a >  Display  for  DisplayableList < ' a >  { 
131-             fn  fmt ( & self ,  f :  & mut  std:: fmt:: Formatter )  -> std:: fmt:: Result  { 
132-                 let  mut  first = true ; 
133-                 for  const_expr in  self . 0  { 
134-                     if  first { 
135-                         first = false ; 
136-                     }  else  { 
137-                         write ! ( f,  "," ) ?; 
138-                     } 
139-                     write ! ( f,  "{}" ,  const_expr) ?; 
140-                 } 
141-                 Ok ( ( ) ) 
142-             } 
143-         } 
144-         DisplayableList ( input) 
145-     } 
146104} 
147105
148106/// Display implementation for `ConstExpr` 
0 commit comments