andygrove opened a new issue, #4452:
URL: https://github.com/apache/datafusion-comet/issues/4452

   ## Describe the bug
   
   `make_date(year, month, day)` in Comet accepts `year = 0` and negative 
years, returning a valid date built via chrono's proleptic Gregorian calendar. 
Spark rejects these (returns NULL in non-ANSI mode, throws under ANSI). The 
Rust test `test_make_date_extreme_years` in 
`native/spark-expr/src/datetime_funcs/make_date.rs` acknowledges this 
acceptance.
   
   ## Steps to reproduce
   
   ```sql
   SELECT make_date(0, 1, 1);
   -- Spark: NULL (or throws under ANSI)
   -- Comet: 0000-01-01
   
   SELECT make_date(-1, 1, 1);
   -- Spark: NULL (or throws under ANSI)
   -- Comet: -0001-01-01
   ```
   
   ## Expected behavior
   
   Match Spark: reject years outside `[1, 9999]`.
   
   ## Additional context
   
   Surfaced by the date/time audit (#4448). Reproducer captured as an ignored 
test in 
`spark/src/test/resources/sql-tests/expressions/datetime/make_date.sql`; remove 
the `ignore(...)` when this is fixed.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to