Commit Graph

13 Commits

Author SHA1 Message Date
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
Nikita Mikhailov
780cf3dbff better 2021-02-15 14:37:07 +03:00
Nikita Mikhailov
40e8bbc49a done 2021-02-15 14:32:17 +03:00
Azat Khuzhin
06e8065ee6 Add missing sync of underlying files 2021-02-13 13:19:51 +03:00
Alexander Kuzmenkov
fe6f477881 Build utils in CI, at least in split build
Currently we don't build them at all, so they were broken by https://github.com/ClickHouse/ClickHouse/pull/17988
2020-12-14 20:39:52 +03:00
Alexey Milovidov
394fb64a9c Better way of implementation 2020-06-14 20:42:11 +03:00
Ivan
47ad338cb2
Refactor CMake build files (#11390)
* Get rid of lib_name.cmake
* Refactor Boost and HyperScan libraries
* Refactor lz4
* Fix build with xxHash
2020-06-09 13:54:49 +03:00
Alexey Milovidov
b0a5ce7743 Enable clang-tidy for programs and utils 2020-05-18 04:19:50 +03:00
Pavel Kovalenko
f2dca656f9
MergeTree full support for S3 (#9646)
* IMergeDataPart full S3 support.

* MergeTreeData full S3 support.

* Compilation fixes.

* Mutations and merges S3 support.

* Fixed removing data part.

* MergeTree for S3 integration tests and fixes.

* Code style issues.

* Enable AWS logging.

* Fixed hardlink creation for DiskLocal.

* Fixed localBackup.cpp compilation.

* Fixed attaching partition.

* Get rid of extra methods in IDisk.

* Fixed storage config reloading.

* More tests with table manipulations.

* Remove unused error codes.

* Move localBackup to MergeTree folder.

* Minor fixes.
2020-03-19 19:37:55 +03:00
Pavel Kovalenko
d91ef06370 Code style and logical issues fix. 2020-02-28 14:54:18 +03:00
CurtizJ
206cb1afa9 fix broken by refactoring functionality with wide parts 2019-12-25 01:49:39 +03:00
proller
e4f3713102 Fix link in split mode 2019-02-06 17:14:16 +03:00
Alexey Zatelepin
8957e73681 a tool to convert an old month-partition part to the custom-partitioned format [#CLICKHOUSE-4231] 2019-01-30 16:51:39 +03:00