ClickHouse/src
Vasily Nemkov 2d03d330bc Extended range of DateTime64 to years 1925 - 2238
The Year 1925 is a starting point because most of the timezones
switched to saner (mostly 15-minutes based) offsets somewhere
during 1924 or before. And that significantly simplifies implementation.

2238 is to simplify arithmetics for sanitizing LUT index access;
there are less than 0x1ffff days from 1925.

* Extended DateLUTImpl internal LUT to 0x1ffff items, some of which
  represent negative (pre-1970) time values.
  As a collateral benefit, Date now correctly supports dates up to 2149
  (instead of 2106).
* Added a new strong typedef ExtendedDayNum, which represents dates
  pre-1970 and post 2149.
* Functions that used to return DayNum now return ExtendedDayNum.
* Refactored DateLUTImpl to untie DayNum from the dual role of being
  a value and an index (due to negative time). Index is now a different
  type LUTIndex with explicit conversion functions from DatNum, time_t,
  and ExtendedDayNum.
* Updated DateLUTImpl to properly support values close to epoch start
  (1970-01-01 00:00), including negative ones.
* Reduced resolution of DateLUTImpl::Values::time_at_offset_change
  to multiple of 15-minutes to allow storing 64-bits of time_t in
  DateLUTImpl::Value while keeping same size.
* Minor performance updates to DateLUTImpl when building month LUT
  by skipping non-start-of-month days.
* Fixed extractTimeZoneFromFunctionArguments to work correctly
  with DateTime64.
* New unit-tests and stateless integration tests for both DateTime
  and DateTime64.
2021-02-24 17:08:35 +02:00
..
Access remove probably useless code 2021-02-16 23:54:05 +03:00
AggregateFunctions Merge pull request #20174 from amosbird/alias 2021-02-21 16:23:51 +03:00
Client Remove not needed file. 2021-02-19 11:52:33 +03:00
Columns Fixed Map type getExtremes 2021-02-22 23:32:43 +03:00
Common Merge pull request #20174 from amosbird/alias 2021-02-21 16:23:51 +03:00
Compression Fix test 2021-02-11 01:23:27 +03:00
Coordination Disable snapshots for tests 2021-02-15 10:30:08 +03:00
Core Extended range of DateTime64 to years 1925 - 2238 2021-02-24 17:08:35 +02:00
Databases Fix build 2021-02-23 10:46:41 +00:00
DataStreams Extended range of DateTime64 to years 1925 - 2238 2021-02-24 17:08:35 +02:00
DataTypes Extended range of DateTime64 to years 1925 - 2238 2021-02-24 17:08:35 +02:00
Dictionaries Added comment 2021-02-17 19:24:04 +03:00
Disks Merge pull request #19748 from excitoon-favorites/s3ssec 2021-02-15 15:23:14 +03:00
Formats Merge pull request #20506 from vitlibar/refactor-protobuf-format-io 2021-02-18 11:31:37 +03:00
Functions Extended range of DateTime64 to years 1925 - 2238 2021-02-24 17:08:35 +02:00
Interpreters Extended range of DateTime64 to years 1925 - 2238 2021-02-24 17:08:35 +02:00
IO Extended range of DateTime64 to years 1925 - 2238 2021-02-24 17:08:35 +02:00
Parsers Merge pull request #20174 from amosbird/alias 2021-02-21 16:23:51 +03:00
Processors Updated for map 2021-02-22 23:32:43 +03:00
Server Merge pull request #20174 from amosbird/alias 2021-02-21 16:23:51 +03:00
Storages Extended range of DateTime64 to years 1925 - 2238 2021-02-24 17:08:35 +02:00
TableFunctions Accept arbitrary numeric types for numbers() arguments (for scientific notation) 2021-02-10 22:32:32 +03:00
CMakeLists.txt Make Poco HTTP Server zero-copy again (#19516) 2021-02-19 15:51:26 +03:00
NOTICE
ya.make Add non working cmake 2021-01-25 17:59:10 +03:00