fix: coerce timestamp string predicates with Spark semantics - #2463
fix: coerce timestamp string predicates with Spark semantics#2463lonless9 wants to merge 13 commits into
Conversation
Gold Data ReportNotes
Commit Information
Summary
DetailsGold Data Metrics
|
Spark 3.5.9 Test ReportCommit Information
Test Summary
Test DetailsError CountsPassed Tests Diff--- before.txt 2026-09-04 09:28:37.293231568 +0000
+++ after.txt 2026-09-04 09:28:37.527230724 +0000
@@ -626 +625,0 @@
-pyspark/sql/tests/connect/test_connect_column.py::SparkConnectColumnTests::test_cast
@@ -1177,0 +1177 @@
+pyspark/sql/tests/connect/test_parity_types.py::TypesParityTests::test_yearmonth_interval_typeFailed Tests |
Spark 4.2.0 Test ReportCommit Information
Test Summary
Test DetailsError Counts(truncated) Passed Tests Diff--- before.txt 2026-09-04 09:29:06.049643425 +0000
+++ after.txt 2026-09-04 09:29:06.708647566 +0000
@@ -694,0 +695 @@
+pyspark/sql/tests/connect/arrow/test_parity_arrow_python_udf.py::ArrowPythonUDFParityLegacyTests::test_day_time_interval_in_struct
@@ -766,0 +768 @@
+pyspark/sql/tests/connect/arrow/test_parity_arrow_python_udf.py::ArrowPythonUDFParityNonLegacyTests::test_day_time_interval_in_struct
@@ -838,0 +841 @@
+pyspark/sql/tests/connect/arrow/test_parity_arrow_python_udf.py::ArrowPythonUDFParityTests::test_day_time_interval_in_struct
@@ -1893,0 +1897 @@
+pyspark/sql/tests/connect/test_parity_functions.py::FunctionsParityTests::test_make_timestamp
@@ -2124,0 +2129 @@
+pyspark/sql/tests/connect/test_parity_types.py::TypesParityTests::test_yearmonth_interval_typeFailed Tests(truncated) |
Ibis Test ReportCommit Information
Test Summary
Test DetailsError CountsPassed Tests Diff--- before.txt 2026-09-04 09:28:50.272619310 +0000
+++ after.txt 2026-09-04 09:28:50.527617980 +0000
@@ -1384,0 +1385 @@
+ibis/backends/tests/test_temporal.py::test_delta[pyspark-time]Failed Tests |
There was a problem hiding this comment.
Pull request overview
Adds Spark-compatible timestamp/string coercion for predicates across planning paths.
Changes:
- Coerces timestamp comparisons and
INpredicates using ANSI-aware semantics. - Handles timestamp coercion for subqueries.
- Adds timestamp comparison feature tests.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
predicate.rs |
Implements predicate coercion. |
subquery.rs |
Applies coercion across subquery plans. |
function.rs |
Integrates coercion into function resolution. |
timestamp_comparison.feature |
Tests comparison and IN behavior. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…p-string-comparisons
…p-string-comparisons
…p-string-comparisons # Conflicts: # Cargo.lock
There was a problem hiding this comment.
🟡 Changes recommended
Float conversion, interval rendering, and time-only parsing still diverge from Spark semantics.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 20/21 changed files
- Comments generated: 3
- Review effort level: Balanced
There was a problem hiding this comment.
🟡 Changes recommended
Renumbering existing protobuf oneof tags breaks physical-plan wire compatibility.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 50/52 changed files
- Comments generated: 1
- Review effort level: Balanced
No description provided.