goldmedal commented on code in PR #13880:
URL: https://github.com/apache/datafusion/pull/13880#discussion_r1895368410


##########
datafusion/sql/src/unparser/mod.rs:
##########
@@ -105,13 +109,33 @@ impl<'a> Unparser<'a> {
         self.pretty = pretty;
         self
     }
+
+    /// Add a custom unparser for user defined logical nodes
+    ///
+    /// DataFusion allows user to define custom logical nodes. This method 
allows to add custom child unparsers for these nodes.
+    /// Implementation of [`UserDefinedLogicalNodeUnparser`] can be added to 
the root unparser to handle custom logical nodes.
+    ///
+    /// The child unparsers are called iteratively.
+    /// There are two methods in [`Unparser`] will be called:
+    /// - `extension_to_statement`: This method is called when the custom 
logical node is a custom statement.
+    ///     If multiple child unparsers return a non-None value, the last 
unparsing result will be returned.
+    /// - `extension_to_sql`: This method is called when the custom logical 
node is part of a statement.
+    ///    If multiple child unparsers are registered for the same custom 
logical node, all of them will be called in order.
+    pub fn with_udlp_unparsers(

Review Comment:
   Sounds great. I'll rename it.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to