This is an automated email from the ASF dual-hosted git repository.

alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion.git


The following commit(s) were added to refs/heads/main by this push:
     new 5cc66f2a34 Add docs for Expr::unalias (#10406)
5cc66f2a34 is described below

commit 5cc66f2a343dc43a0b38a351599587380c969b5c
Author: Andrew Lamb <[email protected]>
AuthorDate: Tue May 7 11:18:18 2024 -0400

    Add docs for Expr::unalias (#10406)
---
 datafusion/expr/src/expr.rs | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/datafusion/expr/src/expr.rs b/datafusion/expr/src/expr.rs
index f32fed5db5..c154cd999a 100644
--- a/datafusion/expr/src/expr.rs
+++ b/datafusion/expr/src/expr.rs
@@ -1087,6 +1087,25 @@ impl Expr {
     }
 
     /// Remove an alias from an expression if one exists.
+    ///
+    /// If the expression is not an alias, the expression is returned 
unchanged.
+    /// This method does not remove aliases from nested expressions.
+    ///
+    /// # Example
+    /// ```
+    /// # use datafusion_expr::col;
+    /// // `foo as "bar"` is unaliased to `foo`
+    /// let expr = col("foo").alias("bar");
+    /// assert_eq!(expr.unalias(), col("foo"));
+    ///
+    /// // `foo as "bar" + baz` is not unaliased
+    /// let expr = col("foo").alias("bar") + col("baz");
+    /// assert_eq!(expr.clone().unalias(), expr);
+    ///
+    /// // `foo as "bar" as "baz" is unalaised to foo as "bar"
+    /// let expr = col("foo").alias("bar").alias("baz");
+    /// assert_eq!(expr.unalias(), col("foo").alias("bar"));
+    /// ```
     pub fn unalias(self) -> Expr {
         match self {
             Expr::Alias(alias) => *alias.expr,


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to