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]
