This is an automated email from the ASF dual-hosted git repository.
jonah 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 000288ce3e Update sqlparser requirement from 0.51.0 to 0.52.0 (#13373)
000288ce3e is described below
commit 000288ce3ec4cb11803c5b37680d6cddfa01c57e
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Thu Nov 14 10:32:46 2024 +0800
Update sqlparser requirement from 0.51.0 to 0.52.0 (#13373)
* Update sqlparser requirement from 0.51.0 to 0.52.0
Updates the requirements on
[sqlparser](https://github.com/apache/datafusion-sqlparser-rs) to permit the
latest version.
-
[Changelog](https://github.com/apache/datafusion-sqlparser-rs/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/apache/datafusion-sqlparser-rs/compare/v0.51.0...v0.51.0)
---
updated-dependencies:
- dependency-name: sqlparser
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <[email protected]>
* Update for API changes
* Update for better error messages
* fix comment
* cleanups
* Update datafusion-cli cargo.locl
---------
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot]
<49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Lamb <[email protected]>
---
Cargo.toml | 2 +-
datafusion-cli/Cargo.lock | 148 +++++++++++++--------
datafusion/sql/src/expr/mod.rs | 11 ++
datafusion/sql/src/parser.rs | 4 +-
datafusion/sql/src/statement.rs | 14 +-
datafusion/sql/src/unparser/ast.rs | 1 +
datafusion/sql/src/unparser/expr.rs | 1 +
datafusion/sqllogictest/test_files/distinct_on.slt | 2 +-
datafusion/sqllogictest/test_files/select.slt | 4 +-
datafusion/sqllogictest/test_files/unnest.slt | 2 +-
10 files changed, 123 insertions(+), 66 deletions(-)
diff --git a/Cargo.toml b/Cargo.toml
index 0b5c74e15d..0011539156 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -145,7 +145,7 @@ recursive = "0.1.1"
regex = "1.8"
rstest = "0.23.0"
serde_json = "1"
-sqlparser = { version = "0.51.0", features = ["visitor"] }
+sqlparser = { version = "0.52.0", features = ["visitor"] }
tempfile = "3"
tokio = { version = "1.36", features = ["macros", "rt", "sync"] }
url = "2.2"
diff --git a/datafusion-cli/Cargo.lock b/datafusion-cli/Cargo.lock
index 02bd01a499..bfd0411798 100644
--- a/datafusion-cli/Cargo.lock
+++ b/datafusion-cli/Cargo.lock
@@ -63,9 +63,9 @@ dependencies = [
[[package]]
name = "allocator-api2"
-version = "0.2.18"
+version = "0.2.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
+checksum = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9"
[[package]]
name = "android-tzdata"
@@ -152,7 +152,7 @@ dependencies = [
"snap",
"strum 0.25.0",
"strum_macros 0.25.3",
- "thiserror",
+ "thiserror 1.0.69",
"typed-builder",
"uuid",
"xz2",
@@ -456,9 +456,9 @@ checksum =
"ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
[[package]]
name = "aws-config"
-version = "1.5.9"
+version = "1.5.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d6448cfb224dd6a9b9ac734f58622dd0d4751f3589f3b777345745f46b2eb14"
+checksum = "9b49afaa341e8dd8577e1a2200468f98956d6eda50bcf4a53246cc00174ba924"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -523,9 +523,9 @@ dependencies = [
[[package]]
name = "aws-sdk-sso"
-version = "1.48.0"
+version = "1.49.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded855583fa1d22e88fe39fd6062b062376e50a8211989e07cf5e38d52eb3453"
+checksum = "09677244a9da92172c8dc60109b4a9658597d4d298b188dd0018b6a66b410ca4"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -545,9 +545,9 @@ dependencies = [
[[package]]
name = "aws-sdk-ssooidc"
-version = "1.49.0"
+version = "1.50.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9177ea1192e6601ae16c7273385690d88a7ed386a00b74a6bc894d12103cd933"
+checksum = "81fea2f3a8bb3bd10932ae7ad59cc59f65f270fc9183a7e91f501dc5efbef7ee"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -567,9 +567,9 @@ dependencies = [
[[package]]
name = "aws-sdk-sts"
-version = "1.48.0"
+version = "1.49.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "823ef553cf36713c97453e2ddff1eb8f62be7f4523544e2a5db64caf80100f0a"
+checksum = "53dcf5e7d9bd1517b8b998e170e650047cea8a2b85fe1835abe3210713e541b7"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -917,9 +917,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.1.35"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f57c4b4da2a9d619dd035f27316d7a426305b75be93d09e92f2b9229c34feaf"
+checksum = "1aeb932158bd710538c73702db6945cb68a8fb08c519e6e12706b94263b36db8"
dependencies = [
"jobserver",
"libc",
@@ -1035,13 +1035,13 @@ checksum =
"5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
[[package]]
name = "comfy-table"
-version = "7.1.1"
+version = "7.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7"
+checksum = "e0d05af1e006a2407bedef5af410552494ce5be9090444dbbcb57258c1af3d56"
dependencies = [
"strum 0.26.3",
"strum_macros 0.26.4",
- "unicode-width",
+ "unicode-width 0.2.0",
]
[[package]]
@@ -1097,9 +1097,9 @@ dependencies = [
[[package]]
name = "cpufeatures"
-version = "0.2.14"
+version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0"
+checksum = "0ca741a962e1b0bff6d724a1a0958b686406e853bb14061f218562e1896f95e6"
dependencies = [
"libc",
]
@@ -1137,9 +1137,9 @@ dependencies = [
[[package]]
name = "csv"
-version = "1.3.0"
+version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe"
+checksum = "acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf"
dependencies = [
"csv-core",
"itoa",
@@ -1716,9 +1716,9 @@ checksum =
"a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f"
[[package]]
name = "fastrand"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
+checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4"
[[package]]
name = "fd-lock"
@@ -1893,8 +1893,10 @@ source =
"registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
dependencies = [
"cfg-if",
+ "js-sys",
"libc",
"wasi",
+ "wasm-bindgen",
]
[[package]]
@@ -2482,9 +2484,9 @@ dependencies = [
[[package]]
name = "libc"
-version = "0.2.161"
+version = "0.2.162"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1"
+checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398"
[[package]]
name = "libflate"
@@ -3037,18 +3039,18 @@ dependencies = [
[[package]]
name = "psm"
-version = "0.1.23"
+version = "0.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205"
+checksum = "200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810"
dependencies = [
"cc",
]
[[package]]
name = "quad-rand"
-version = "0.2.2"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b76f1009795ca44bb5aaae8fd3f18953e209259c33d9b059b1f53d58ab7511db"
+checksum = "5a651516ddc9168ebd67b24afd085a718be02f8858fe406591b013d101ce2f40"
[[package]]
name = "quick-xml"
@@ -3062,9 +3064,9 @@ dependencies = [
[[package]]
name = "quinn"
-version = "0.11.5"
+version = "0.11.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684"
+checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef"
dependencies = [
"bytes",
"pin-project-lite",
@@ -3073,26 +3075,29 @@ dependencies = [
"rustc-hash",
"rustls 0.23.16",
"socket2",
- "thiserror",
+ "thiserror 2.0.3",
"tokio",
"tracing",
]
[[package]]
name = "quinn-proto"
-version = "0.11.8"
+version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6"
+checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d"
dependencies = [
"bytes",
+ "getrandom",
"rand",
"ring",
"rustc-hash",
"rustls 0.23.16",
+ "rustls-pki-types",
"slab",
- "thiserror",
+ "thiserror 2.0.3",
"tinyvec",
"tracing",
+ "web-time",
]
[[package]]
@@ -3195,7 +3200,7 @@ checksum =
"ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
dependencies = [
"getrandom",
"libredox",
- "thiserror",
+ "thiserror 1.0.69",
]
[[package]]
@@ -3212,9 +3217,9 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.4.8"
+version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
+checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
dependencies = [
"aho-corasick",
"memchr",
@@ -3358,9 +3363,9 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.38.39"
+version = "0.38.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "375116bee2be9ed569afe2154ea6a99dfdffd257f533f187498c2a8f5feaf4ee"
+checksum = "99e4ea3e1cdc4b559b8e5650f9c8e5998e3e5c1343b4eaf034565f32318d63c0"
dependencies = [
"bitflags 2.6.0",
"errno",
@@ -3443,6 +3448,9 @@ name = "rustls-pki-types"
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b"
+dependencies = [
+ "web-time",
+]
[[package]]
name = "rustls-webpki"
@@ -3488,7 +3496,7 @@ dependencies = [
"nix",
"radix_trie",
"unicode-segmentation",
- "unicode-width",
+ "unicode-width 0.1.14",
"utf8parse",
"windows-sys 0.52.0",
]
@@ -3548,9 +3556,9 @@ dependencies = [
[[package]]
name = "security-framework-sys"
-version = "2.12.0"
+version = "2.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6"
+checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2"
dependencies = [
"core-foundation-sys",
"libc",
@@ -3570,18 +3578,18 @@ checksum =
"a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
[[package]]
name = "serde"
-version = "1.0.214"
+version = "1.0.215"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5"
+checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.214"
+version = "1.0.215"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766"
+checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0"
dependencies = [
"proc-macro2",
"quote",
@@ -3704,9 +3712,9 @@ checksum =
"6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
[[package]]
name = "sqlparser"
-version = "0.51.0"
+version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fe11944a61da0da3f592e19a45ebe5ab92dc14a779907ff1f08fbb797bfefc7"
+checksum = "9a875d8cd437cc8a97e9aeaeea352ec9a19aea99c23e9effb17757291de80b08"
dependencies = [
"log",
"sqlparser_derive",
@@ -3834,9 +3842,9 @@ dependencies = [
[[package]]
name = "tempfile"
-version = "3.13.0"
+version = "3.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b"
+checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c"
dependencies = [
"cfg-if",
"fastrand",
@@ -3853,18 +3861,38 @@ checksum =
"3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
[[package]]
name = "thiserror"
-version = "1.0.68"
+version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02dd99dc800bbb97186339685293e1cc5d9df1f8fae2d0aecd9ff1c77efea892"
+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
dependencies = [
- "thiserror-impl",
+ "thiserror-impl 1.0.69",
+]
+
+[[package]]
+name = "thiserror"
+version = "2.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa"
+dependencies = [
+ "thiserror-impl 2.0.3",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.68"
+version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7c61ec9a6f64d2793d8a45faba21efbe3ced62a886d44c36a009b2b519b4c7e"
+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "2.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568"
dependencies = [
"proc-macro2",
"quote",
@@ -3948,9 +3976,9 @@ checksum =
"1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.41.0"
+version = "1.41.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb"
+checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33"
dependencies = [
"backtrace",
"bytes",
@@ -4123,6 +4151,12 @@ version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
+[[package]]
+name = "unicode-width"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd"
+
[[package]]
name = "untrusted"
version = "0.9.0"
diff --git a/datafusion/sql/src/expr/mod.rs b/datafusion/sql/src/expr/mod.rs
index 72f88abcea..8c8d716a66 100644
--- a/datafusion/sql/src/expr/mod.rs
+++ b/datafusion/sql/src/expr/mod.rs
@@ -367,6 +367,7 @@ impl<'a, S: ContextProvider> SqlToRel<'a, S> {
expr,
pattern,
escape_char,
+ any,
} => self.sql_like_to_expr(
negated,
*expr,
@@ -375,6 +376,7 @@ impl<'a, S: ContextProvider> SqlToRel<'a, S> {
schema,
planner_context,
false,
+ any,
),
SQLExpr::ILike {
@@ -382,6 +384,7 @@ impl<'a, S: ContextProvider> SqlToRel<'a, S> {
expr,
pattern,
escape_char,
+ any,
} => self.sql_like_to_expr(
negated,
*expr,
@@ -390,6 +393,7 @@ impl<'a, S: ContextProvider> SqlToRel<'a, S> {
schema,
planner_context,
true,
+ any,
),
SQLExpr::SimilarTo {
@@ -532,6 +536,9 @@ impl<'a, S: ContextProvider> SqlToRel<'a, S> {
left,
compare_op,
right,
+ // ANY/SOME are equivalent, this field specifies which the user
+ // specified but it doesn't affect the plan so ignore the field
+ is_some: _,
} => {
let mut binary_expr = RawBinaryExpr {
op: compare_op,
@@ -779,7 +786,11 @@ impl<'a, S: ContextProvider> SqlToRel<'a, S> {
schema: &DFSchema,
planner_context: &mut PlannerContext,
case_insensitive: bool,
+ any: bool,
) -> Result<Expr> {
+ if any {
+ return not_impl_err!("ANY in LIKE expression");
+ }
let pattern = self.sql_expr_to_logical_expr(pattern, schema,
planner_context)?;
let pattern_type = pattern.get_type(schema)?;
if pattern_type != DataType::Utf8 && pattern_type != DataType::Null {
diff --git a/datafusion/sql/src/parser.rs b/datafusion/sql/src/parser.rs
index 8a984f1645..bd1ed3145e 100644
--- a/datafusion/sql/src/parser.rs
+++ b/datafusion/sql/src/parser.rs
@@ -141,7 +141,7 @@ pub enum CopyToSource {
/// `COPY <table> TO ...`
Relation(ObjectName),
/// COPY (...query...) TO ...
- Query(Query),
+ Query(Box<Query>),
}
impl fmt::Display for CopyToSource {
@@ -1444,7 +1444,7 @@ mod tests {
};
let query = if let SQLStatement::Query(query) = statement {
- *query
+ query
} else {
panic!("Expected query, got {statement:?}");
};
diff --git a/datafusion/sql/src/statement.rs b/datafusion/sql/src/statement.rs
index 0ac804b706..31b836f32b 100644
--- a/datafusion/sql/src/statement.rs
+++ b/datafusion/sql/src/statement.rs
@@ -152,6 +152,10 @@ fn calc_inline_constraints_from_columns(columns:
&[ColumnDef]) -> Vec<TableConst
| ast::ColumnOption::OnUpdate(_)
| ast::ColumnOption::Materialized(_)
| ast::ColumnOption::Ephemeral(_)
+ | ast::ColumnOption::Identity(_)
+ | ast::ColumnOption::OnConflict(_)
+ | ast::ColumnOption::Policy(_)
+ | ast::ColumnOption::Tags(_)
| ast::ColumnOption::Alias(_) => {}
}
}
@@ -646,6 +650,9 @@ impl<'a, S: ContextProvider> SqlToRel<'a, S> {
name,
parameters,
using,
+ // has_parentheses specifies the syntax, but the plan is the
+ // same no matter the synax used, so ignore it
+ has_parentheses: _,
} => {
// `USING` is a MySQL-specific syntax and currently not
supported.
if !using.is_empty() {
@@ -661,7 +668,7 @@ impl<'a, S: ContextProvider> SqlToRel<'a, S> {
.collect::<Result<Vec<Expr>>>()?;
Ok(LogicalPlan::Statement(PlanStatement::Execute(Execute {
- name: ident_to_string(&name),
+ name: object_name_to_string(&name),
parameters,
})))
}
@@ -680,6 +687,9 @@ impl<'a, S: ContextProvider> SqlToRel<'a, S> {
full,
db_name,
filter,
+ // SHOW TABLES IN/FROM are equivalent, this field specifies
which the user
+ // specified, but it doesn't affect the plan so ignore the
field
+ clause: _,
} => self.show_tables_to_plan(extended, full, db_name, filter),
Statement::ShowColumns {
@@ -1108,7 +1118,7 @@ impl<'a, S: ContextProvider> SqlToRel<'a, S> {
(plan, input_schema, Some(table_ref))
}
CopyToSource::Query(query) => {
- let plan = self.query_to_plan(query, &mut
PlannerContext::new())?;
+ let plan = self.query_to_plan(*query, &mut
PlannerContext::new())?;
let input_schema = Arc::clone(plan.schema());
(plan, input_schema, None)
}
diff --git a/datafusion/sql/src/unparser/ast.rs
b/datafusion/sql/src/unparser/ast.rs
index 2de1ce9125..cc0812cd71 100644
--- a/datafusion/sql/src/unparser/ast.rs
+++ b/datafusion/sql/src/unparser/ast.rs
@@ -241,6 +241,7 @@ impl SelectBuilder {
pub fn build(&self) -> Result<ast::Select, BuilderError> {
Ok(ast::Select {
distinct: self.distinct.clone(),
+ top_before_distinct: false,
top: self.top.clone(),
projection: self.projection.clone(),
into: self.into.clone(),
diff --git a/datafusion/sql/src/unparser/expr.rs
b/datafusion/sql/src/unparser/expr.rs
index 0678e7d030..8f6ffa51f7 100644
--- a/datafusion/sql/src/unparser/expr.rs
+++ b/datafusion/sql/src/unparser/expr.rs
@@ -282,6 +282,7 @@ impl Unparser<'_> {
expr: Box::new(self.expr_to_sql_inner(expr)?),
pattern: Box::new(self.expr_to_sql_inner(pattern)?),
escape_char: escape_char.map(|c| c.to_string()),
+ any: false,
}),
Expr::AggregateFunction(agg) => {
let func_name = agg.func.name();
diff --git a/datafusion/sqllogictest/test_files/distinct_on.slt
b/datafusion/sqllogictest/test_files/distinct_on.slt
index 604ac95ff4..cc0ebf83a8 100644
--- a/datafusion/sqllogictest/test_files/distinct_on.slt
+++ b/datafusion/sqllogictest/test_files/distinct_on.slt
@@ -153,7 +153,7 @@ b 1 29 -18218 994303988 5983957848665088916 204 9489
3275293996 1485709125918647
c 2 1 18109 2033001162 -6513304855495910254 25 43062 1491205016
5863949479783605708 0.110830784 0.929409733247 6WfVFBVGJSQb7FhA7E0lBwdvjfZnSW
# can't distinct on *
-query error DataFusion error: SQL error: ParserError\("Expected: an
expression:, found: \*"\)
+query error DataFusion error: SQL error: ParserError\("Expected: an
expression, found: \*"\)
SELECT DISTINCT ON (*) c1 FROM aggregate_test_100 ORDER BY c1 LIMIT 3;
diff --git a/datafusion/sqllogictest/test_files/select.slt
b/datafusion/sqllogictest/test_files/select.slt
index c096f6e692..c687429ae6 100644
--- a/datafusion/sqllogictest/test_files/select.slt
+++ b/datafusion/sqllogictest/test_files/select.slt
@@ -339,10 +339,10 @@ NULL 1
statement error DataFusion error: SQL error: ParserError\("Expected: \(,
found: EOF"\)
VALUES
-statement error DataFusion error: SQL error: ParserError\("Expected: an
expression:, found: \)"\)
+statement error DataFusion error: SQL error: ParserError\("Expected: an
expression, found: \)"\)
VALUES ()
-statement error DataFusion error: SQL error: ParserError\("Expected: an
expression:, found: \)"\)
+statement error DataFusion error: SQL error: ParserError\("Expected: an
expression, found: \)"\)
VALUES (1),()
statement error DataFusion error: Error during planning: Inconsistent data
length across values list: got 2 values in row 1 but expected 1
diff --git a/datafusion/sqllogictest/test_files/unnest.slt
b/datafusion/sqllogictest/test_files/unnest.slt
index 947eb8630b..8ebed5b25c 100644
--- a/datafusion/sqllogictest/test_files/unnest.slt
+++ b/datafusion/sqllogictest/test_files/unnest.slt
@@ -295,7 +295,7 @@ query error DataFusion error: Error during planning:
unnest\(\) requires exactly
select unnest();
## Unnest empty expression in from clause
-query error DataFusion error: SQL error: ParserError\("Expected: an
expression:, found: \)"\)
+query error DataFusion error: SQL error: ParserError\("Expected: an
expression, found: \)"\)
select * from unnest();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]