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]