You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datafusion.apache.org by gi...@apache.org on 2026/06/13 01:41:02 UTC
(datafusion) branch gh-readonly-queue/main/pr-22720-e5f7af15a6dafe9e2847a81bae5fddfda5a60c0a created (now 574a1e6b39)
This is an automated email from the ASF dual-hosted git repository.
github-merge-queue[bot] pushed a change to branch gh-readonly-queue/main/pr-22720-e5f7af15a6dafe9e2847a81bae5fddfda5a60c0a
in repository https://gitbox.apache.org/repos/asf/datafusion.git
at 574a1e6b39 fix: preserve Spark next_day whitespace validation (#22720)
This branch includes the following new commits:
new 574a1e6b39 fix: preserve Spark next_day whitespace validation (#22720)
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datafusion.apache.org
For additional commands, e-mail: commits-help@datafusion.apache.org
(datafusion) 01/01: fix: preserve Spark next_day whitespace validation (#22720)
Posted by gi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
github-merge-queue[bot] pushed a commit to branch gh-readonly-queue/main/pr-22720-e5f7af15a6dafe9e2847a81bae5fddfda5a60c0a
in repository https://gitbox.apache.org/repos/asf/datafusion.git
commit 574a1e6b39acd5b2c521d554863ac50fc0855654
Author: Ahmed EL. <xf...@gmail.com>
AuthorDate: Sat Jun 13 02:40:47 2026 +0100
fix: preserve Spark next_day whitespace validation (#22720)
## Which issue does this PR close?
- Closes #22717.
## Rationale for this change
Spark does not trim `dayOfWeek` before matching it in `next_day`, but
`datafusion-spark` currently does. That makes values like `' MO '`
succeed in DataFusion even though Spark treats them as invalid.
## What changes are included in this PR?
- remove the `.trim()` call from `spark_next_day`
- add a regression test proving whitespace-padded day names are rejected
## Are these changes tested?
- `cargo test -p datafusion-spark
next_day_rejects_whitespace_padded_day_names -- --nocapture`
- `cargo test -p datafusion-spark`
- `cargo fmt --all --check`
- `cargo clippy -p datafusion-spark --all-targets --all-features
--no-deps -- -D warnings`
Note: the broader package clippy invocation still reports an existing
unused import warning in untouched
`datafusion/core/src/execution/session_state.rs` on current main.
## Are there any user-facing changes?
Behavior now matches Spark for whitespace-padded `dayOfWeek` inputs in
`next_day`.
---------
Signed-off-by: xfocus3 <xf...@users.noreply.github.com>
Co-authored-by: xfocus3 <xf...@users.noreply.github.com>
Co-authored-by: Ahmed El amraouiyine <ah...@vilavi.fr>
---
datafusion/spark/src/function/datetime/next_day.rs | 8 +++++++-
datafusion/sqllogictest/test_files/spark/datetime/next_day.slt | 6 ++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/datafusion/spark/src/function/datetime/next_day.rs b/datafusion/spark/src/function/datetime/next_day.rs
index 2241043d44..2ef222526f 100644
--- a/datafusion/spark/src/function/datetime/next_day.rs
+++ b/datafusion/spark/src/function/datetime/next_day.rs
@@ -210,7 +210,7 @@ where
fn spark_next_day(days: i32, day_of_week: &str) -> Option<i32> {
let date = Date32Type::to_naive_date_opt(days)?;
- let day_of_week = day_of_week.trim().to_uppercase();
+ let day_of_week = day_of_week.to_uppercase();
let day_of_week = match day_of_week.as_str() {
"MO" | "MON" | "MONDAY" => Some("MONDAY"),
"TU" | "TUE" | "TUESDAY" => Some("TUESDAY"),
@@ -279,4 +279,10 @@ mod tests {
assert_eq!(field.data_type(), &DataType::Date32);
assert!(field.is_nullable());
}
+
+ #[test]
+ fn next_day_rejects_whitespace_padded_day_names() {
+ let monday = 19723; // 2024-01-01
+ assert_eq!(spark_next_day(monday, " MO "), None);
+ }
}
diff --git a/datafusion/sqllogictest/test_files/spark/datetime/next_day.slt b/datafusion/sqllogictest/test_files/spark/datetime/next_day.slt
index 872d1f2b58..b0ffd7d0e4 100644
--- a/datafusion/sqllogictest/test_files/spark/datetime/next_day.slt
+++ b/datafusion/sqllogictest/test_files/spark/datetime/next_day.slt
@@ -36,6 +36,12 @@ SELECT next_day('2015-07-27'::DATE, 'Sat'::string);
----
2015-08-01
+# Whitespace-padded day names should be rejected (return NULL) per Spark behavior
+query D
+SELECT next_day('2015-01-14'::DATE, ' MO '::string);
+----
+NULL
+
query error Failed to coerce arguments to satisfy a call to 'next_day' function
SELECT next_day('2015-07-27'::DATE);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datafusion.apache.org
For additional commands, e-mail: commits-help@datafusion.apache.org