Commit Graph

61 Commits

Author SHA1 Message Date
Alexey Milovidov
8adaef7c8e Make text format for Decimal tuneable 2021-08-16 11:03:23 +03:00
Alexey Milovidov
bdab932f97 Fix some tests 2021-08-16 08:56:42 +03:00
Alexey Milovidov
28027c7323 Fix some tests 2021-08-16 05:00:39 +03:00
Alexey Milovidov
60dccce818 Remove trailing zeros from Decimal serialization #15794 2021-08-15 08:29:31 +03:00
kssenii
3ba2d114d5 Revert "Merge pull request #26352 from ClickHouse/revert-25774-datatype-date32"
This reverts commit 94a210650f, reversing
changes made to 0893b9ff8e.
2021-07-15 11:41:52 +00:00
alexey-milovidov
9ba4064c86
Revert "Datatype Date32, support range 1925 to 2283" 2021-07-15 10:53:35 +03:00
Vitaly Baranov
0f9ace257f Fix conversion to/from big endian. 2021-07-13 11:30:08 +03:00
Neng Liu
7ed1728a37 Merge branch 'master' into datatype-date32
# Conflicts:
#	src/DataTypes/IDataType.h
#	src/Functions/CustomWeekTransforms.h
2021-06-22 10:00:18 +08:00
Maksim Kita
ac2f9dd15a Updated function dateName before merge 2021-06-16 21:19:05 +03:00
neng.liu
120da1fd73 date32 initial code 2021-06-07 06:41:58 -07:00
Alexey Milovidov
e9c7aa5ab5 Remove some code 2021-05-08 17:12:26 +03:00
Alexey Milovidov
160aaec112 Fix error 2021-05-07 04:19:18 +03:00
Alexey Milovidov
fd4f214e43 Fix error 2021-05-05 23:04:15 +03:00
Alexey Milovidov
02ce9cc725 Untangle UUID 2021-05-04 01:46:51 +03:00
Alexey Milovidov
39bcf9d860 Fix style 2021-05-03 01:44:34 +03:00
Alexey Milovidov
fc8db048e1 Merge with master 2021-05-02 21:26:46 +03:00
Alexey Milovidov
1fda866881 Merge branch 'master' into normalize-bigint 2021-05-02 21:24:45 +03:00
Alexey Milovidov
649550c5ab Attempt to normalize big integers 2021-04-25 12:30:43 +03:00
Alexey Milovidov
8f01af62d9 Merge branch 'master' into normalize-bigint 2021-04-25 06:57:44 +03:00
Nikolai Kochetov
9b86c19836 Use JSONBuilder for explain json result. 2021-04-14 17:07:56 +03:00
Alexey Milovidov
671395e8c8 Most likely improve performance 2021-03-15 22:23:27 +03:00
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
Alexey Milovidov
b736f4fdee Suppression for PVS-Studio (looks like a false positive) 2021-02-21 10:21:59 +03:00
Alexey Milovidov
64e76a4a8d Minor changes in Decimal 2021-02-20 21:13:36 +03:00
Aleksei Semiglazov
921518db0a CLICKHOUSE-606: query deduplication based on parts' UUID
* add the query data deduplication excluding duplicated parts in MergeTree family engines.

query deduplication is based on parts' UUID which should be enabled first with merge_tree setting
assign_part_uuids=1

allow_experimental_query_deduplication setting is to enable part deduplication, default ot false.

data part UUID is a mechanism of giving a data part a unique identifier.
Having UUID and deduplication mechanism provides a potential of moving parts
between shards preserving data consistency on a read path:
duplicated UUIDs will cause root executor to retry query against on of the replica explicitly
asking to exclude encountered duplicated fingerprints during a distributed query execution.

NOTE: this implementation don't provide any knobs to lock part and hence its UUID. Any mutations/merge will
update part's UUID.

* add _part_uuid virtual column, allowing to use UUIDs in predicates.

Signed-off-by: Aleksei Semiglazov <asemiglazov@cloudflare.com>

address comments
2021-02-02 16:53:39 +00:00
Alexey Milovidov
093108bf81 Normalize BigInt implementation 2021-01-27 03:54:57 +03:00
Alexey Milovidov
d296424dfa Remove even more code 2021-01-26 22:39:03 +03:00
Alexey Milovidov
877be11398 Remove useless code, part 2 2021-01-26 21:32:46 +03:00
alesapin
c84a8c4b16 Fix manipulators for common string types 2021-01-13 15:47:34 +03:00
Alexey Milovidov
12a0ef907e Slightly better 2021-01-04 21:07:52 +03:00
Alexey Milovidov
d88d3de0d1 Fix UBSan report: applying non-zero offset to nullptr 2021-01-04 02:31:47 +03:00
nikitamikhaylov
d198f03301 suppress warnings 2020-12-17 18:46:26 +03:00
nikitamikhaylov
d70f58a98f remove ryu 2020-12-17 00:52:04 +03:00
nauta
00dc104025 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse 2020-12-11 16:15:40 +08:00
alexey-milovidov
f7d1441858
Update WriteHelpers.h 2020-12-11 00:09:52 +03:00
nikitamikhaylov
17310c6c50 fix-arcadia 2020-12-10 21:08:16 +03:00
nikitamikhaylov
955033d6a1 done 2020-12-10 16:18:37 +03:00
Maksim Kita
64549702a2 DragonBox integration 2020-12-06 00:32:03 +03:00
nautaa
4cc56c2501 rename function name 2020-12-02 17:00:27 +08:00
nautaa
eb0c442763 add function to escape charaters for HTML 2020-12-01 16:32:09 +08:00
Alexander Kuzmenkov
7fa779c2ef Remove escaping from toString(std::string)
This is just confusing, I'd expect it to be an identity. It looks
especially weird when you do something like `toString(Field("don't escape
me"))`. Let's see which tests are going to fail.
2020-11-19 18:26:44 +03:00
Alexander Tokmakov
dbac7860b1 review suggestions 2020-11-11 16:27:54 +03:00
Alexander Tokmakov
5cdfcfb307 remove other stringstreams 2020-11-09 22:12:44 +03:00
Alexander Tokmakov
62ff00ee8b use WriteBuffer in formatAST(...) 2020-11-09 19:05:40 +03:00
Alexander Tokmakov
a06be511df pcg serialization 2020-11-09 16:07:38 +03:00
alexey-milovidov
37c2a57202
Update WriteHelpers.h 2020-10-13 15:23:50 +03:00
Maksim Kita
adaae8a12c Added OutputFormat setting date_time_output_format 2020-10-13 13:59:43 +03:00
Artem Zuikov
d274125c74
Fix wide integer left shift + refactoring (#14697) 2020-09-14 14:56:43 +03:00
Artem Zuikov
7c20aa2c62
Another 256-bit integers (strict 32 bytes) (#14229) 2020-09-04 16:33:02 +03:00
Artem Zuikov
d304d522cc
Refactoring: rename types to allow change bigint library (#14219) 2020-09-01 12:54:50 +03:00