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 06895157e7 Allow expr_to_sql unparsing with no quotes (#10198)
06895157e7 is described below

commit 06895157e7f985fc4d9b0b6298c07d92abb4cc07
Author: Phillip LeBlanc <[email protected]>
AuthorDate: Wed Apr 24 05:57:32 2024 +0900

    Allow expr_to_sql unparsing with no quotes (#10198)
    
    * Allow expr_to_sql unparsing with no quotes
    
    * Add test
---
 datafusion/sql/src/unparser/dialect.rs |  2 +-
 datafusion/sql/src/unparser/expr.rs    | 18 +++++++++++++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/datafusion/sql/src/unparser/dialect.rs 
b/datafusion/sql/src/unparser/dialect.rs
index 3af33ad0af..ccbd388fc4 100644
--- a/datafusion/sql/src/unparser/dialect.rs
+++ b/datafusion/sql/src/unparser/dialect.rs
@@ -26,7 +26,7 @@ pub struct DefaultDialect {}
 
 impl Dialect for DefaultDialect {
     fn identifier_quote_style(&self) -> Option<char> {
-        None
+        Some('"')
     }
 }
 
diff --git a/datafusion/sql/src/unparser/expr.rs 
b/datafusion/sql/src/unparser/expr.rs
index b99cfe11f0..d091fbe14d 100644
--- a/datafusion/sql/src/unparser/expr.rs
+++ b/datafusion/sql/src/unparser/expr.rs
@@ -358,7 +358,7 @@ impl Unparser<'_> {
     pub(super) fn new_ident(&self, str: String) -> ast::Ident {
         ast::Ident {
             value: str,
-            quote_style: 
Some(self.dialect.identifier_quote_style().unwrap_or('"')),
+            quote_style: self.dialect.identifier_quote_style(),
         }
     }
 
@@ -965,4 +965,20 @@ mod tests {
 
         Ok(())
     }
+
+    #[test]
+    fn custom_dialect_none() -> Result<()> {
+        let dialect = CustomDialect::new(None);
+        let unparser = Unparser::new(&dialect);
+
+        let expr = col("a").gt(lit(4));
+        let ast = unparser.expr_to_sql(&expr)?;
+
+        let actual = format!("{}", ast);
+
+        let expected = r#"(a > 4)"#;
+        assert_eq!(actual, expected);
+
+        Ok(())
+    }
 }


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

Reply via email to