Handling of Julian dates in UDFs
The way Julian dates are handled in CDP is improved over the way CDH handled these dates.
Before Upgrade to CDP
Julian calendar (before Oct 15, 1582) dates are handled improperly by date/timestamp UDFs.
For example, the DateFormat UDF behavior is as follows:
Dates in the Julian calendar in your input are misinterpreted as Gregorian calendar dates. A multiple-day error can occur. For example:
beeline> select date_format('1001-01-05','dd---MM--yyyy'); +----------------+ | _c0 | +----------------+ | 30---12--1000 | +----------------+
Problems have been reported in the following UDFs:
- add_months
- date_format
- day
- month
- months_between
- weekofyear
- year
After Upgrade to CDP
In CDP, Hive uses a proleptic Gregorian calendar used in SQL standard to handle Julian dates (Hive-22099).