ClickHouse/programs/client
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
..
clickhouse-client.cpp Move all folders inside /dbms one level up (#9974) 2020-04-02 02:51:21 +03:00
clickhouse-client.xml Move all folders inside /dbms one level up (#9974) 2020-04-02 02:51:21 +03:00
Client.cpp CLICKHOUSE-606: query deduplication based on parts' UUID 2021-02-02 16:53:39 +00:00
CMakeLists.txt Add simple "clickhouse-install" tool 2020-08-08 21:38:34 +03:00
ConnectionParameters.cpp Fix "Arcadia" build 2020-08-11 00:36:49 +03:00
ConnectionParameters.h Implemented in a different way 2020-04-15 04:59:14 +03:00
QueryFuzzer.cpp Don't dwell on the past in query fuzzer 2021-01-22 20:15:31 +03:00
QueryFuzzer.h fix the fuzzer 2020-12-22 07:02:39 +03:00
Suggest.cpp Update Suggest.cpp 2021-01-30 01:21:51 +03:00
Suggest.h client/suggest: set system_events_show_zero_values for query 2021-01-28 23:16:06 +03:00
TestHint.h Consolidate the test hint handling 2021-01-19 01:40:30 +03:00