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 6480020e69 Refine documentation for
`Transformed::{update,map,transform})_data` (#10355)
6480020e69 is described below
commit 6480020e695ebbe2b81e8971c3ee0e9e7ec124b0
Author: Andrew Lamb <[email protected]>
AuthorDate: Fri May 3 05:52:04 2024 -0400
Refine documentation for `Transformed::{update,map,transform})_data`
(#10355)
* Refine documentation for `Transformed::{update,map,transform})_data`
* Update datafusion/common/src/tree_node.rs
Co-authored-by: comphead <[email protected]>
---------
Co-authored-by: comphead <[email protected]>
---
datafusion/common/src/tree_node.rs | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/datafusion/common/src/tree_node.rs
b/datafusion/common/src/tree_node.rs
index 43026f3a92..9d42f4fb1e 100644
--- a/datafusion/common/src/tree_node.rs
+++ b/datafusion/common/src/tree_node.rs
@@ -625,17 +625,23 @@ impl<T> Transformed<T> {
Self::new(data, false, TreeNodeRecursion::Continue)
}
- /// Applies the given `f` to the data of this [`Transformed`] object.
+ /// Applies an infallible `f` to the data of this [`Transformed`] object,
+ /// without modifying the `transformed` flag.
pub fn update_data<U, F: FnOnce(T) -> U>(self, f: F) -> Transformed<U> {
Transformed::new(f(self.data), self.transformed, self.tnr)
}
- /// Maps the data of [`Transformed`] object to the result of the given `f`.
+ /// Applies a fallible `f` (returns `Result`) to the data of this
+ /// [`Transformed`] object, without modifying the `transformed` flag.
pub fn map_data<U, F: FnOnce(T) -> Result<U>>(self, f: F) ->
Result<Transformed<U>> {
f(self.data).map(|data| Transformed::new(data, self.transformed,
self.tnr))
}
- /// Maps the [`Transformed`] object to the result of the given `f`.
+ /// Applies a fallible transforming `f` to the data of this [`Transformed`]
+ /// object.
+ ///
+ /// The returned `Transformed` object has the `transformed` flag set if
either
+ /// `self` or the return value of `f` have the `transformed` flag set.
pub fn transform_data<U, F: FnOnce(T) -> Result<Transformed<U>>>(
self,
f: F,
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]