Commit Graph

58 Commits

Author SHA1 Message Date
chertus
207145025c Join.h refactoring: extract joinDispatch into own file 2019-07-02 17:38:31 +03:00
Ivan Lezhankin
0821d62516 Merge ITableDeclaration into IStorage.
Also a couple of massive include-refactorings with better forwarding
2019-05-17 17:34:25 +03:00
chertus
4969ad2f98 correct comment & some renames 2019-05-08 13:53:45 +03:00
chertus
74feef7e53 Join.h refactoring: remove unneeded specialisations 2019-05-07 21:21:44 +03:00
Martijn Bakker
f96a7e401e remove the list lookup and prevent the global lock 2019-04-05 18:59:48 +01:00
chertus
d5ffbd9b6d fix multithreaded ASOF JOIN crash 2019-04-02 21:50:35 +03:00
chertus
9ed4ac7e82 get rid of macro in AsofRowRefs 2019-04-01 19:44:15 +03:00
Martijn Bakker
d4ec3bbf70 fix style 2019-04-01 11:35:37 +01:00
Martijn Bakker
a64b8afc7e cleanup 2019-04-01 00:09:00 +01:00
Martijn Bakker
4709b744bb address the code review issues 2019-03-30 21:30:21 +00:00
Martijn Bakker
3ac66dfdb6 set default asof type value 2019-03-30 13:09:03 +00:00
Martijn Bakker
20e5fb61c4 fix style 2019-03-30 13:02:30 +00:00
Martijn Bakker
4a94545882 add test for multiple supported asof types 2019-03-30 12:52:48 +00:00
Martijn Bakker
389f108807 working multi type asof join columns 2019-03-30 01:32:08 +00:00
Martijn Bakker
89515861df asof join without using std::map, but still only on u32 2019-03-29 21:20:23 +00:00
Martijn Bakker
817a9244c0 fix up code style 2019-03-28 19:03:57 +00:00
Martijn Bakker
f6987cfa52 have the parser recognize asof joins and feed them through to the executor
insert the time series into a struct ready for joining

working version that inserts the data into the hash table using the existing dispatching machinery for various types

working asof left join in clickhouse

add a test for the asof join

do some asof join cleanup

revisit the logic in case the values match between left and right side
2019-03-26 19:17:21 +00:00
alexey-milovidov
b8d9ed6f54
Merge pull request #4723 from 4ertus2/joins
Fix LEFT JOIN with const column + lots of Join.cpp refactoring
2019-03-26 19:46:46 +03:00
proller
fce9db12b9 Move Interpreters/Settings* -> Core/Settings* 2019-03-22 15:08:30 +03:00
chertus
e5a9633132 Join.cpp refactoring 2019-03-19 19:53:36 +03:00
chertus
1446c50884 fix RowRef initialisation (found by PVS) 2019-03-18 20:43:09 +03:00
Amos Bird
26ab5dd7a7 A Proper lookup table that uses HashTable's API
This is the first step of allowing heterogeneous cells in hash tables.

performance test results are

```

1. HashMap<UInt16, UInt8, TrivialHash, HashTableFixedGrower<16>>;
2. NewLookupMap<UInt16, UInt8>

ResolutionWidth 30000 1 .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................223550276.46
ResolutionWidth 30000 2 .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................248772721.24
Best: 2 - 24877272124

ResolutionWidth 100000 1 ..........................................................................................................................................................................................................................................................238498413.99
ResolutionWidth 100000 2 ..........................................................................................................................................................................................................................................................261808889.98
Best: 2 - 26180888998

ResolutionWidth 300000 1 ...................................................................................239307348.81
ResolutionWidth 300000 2 ...................................................................................257592761.30
Best: 2 - 25759276130

ResolutionWidth 1000000 1 .........................240144759.26
ResolutionWidth 1000000 2 .........................257093531.91
Best: 2 - 25709353191

ResolutionWidth 5000000 1 .....241573260.35
ResolutionWidth 5000000 2 .....259314162.79
Best: 2 - 25931416279

ResolutionDepth 30000 1 .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................217108119.84
ResolutionDepth 30000 2 .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................249459504.41
Best: 2 - 24945950441

ResolutionDepth 100000 1 ..........................................................................................................................................................................................................................................................229065162.17
ResolutionDepth 100000 2 ..........................................................................................................................................................................................................................................................253769105.64
Best: 2 - 25376910564

ResolutionDepth 300000 1 ...................................................................................233079225.18
ResolutionDepth 300000 2 ...................................................................................256316273.78
Best: 2 - 25631627378

ResolutionDepth 1000000 1 .........................234184633.51
ResolutionDepth 1000000 2 .........................261100491.57
Best: 2 - 26110049157

ResolutionDepth 5000000 1 .....233118795.66
ResolutionDepth 5000000 2 .....252436160.41
Best: 2 - 25243616041

```
2019-03-01 16:47:13 +08:00
Alexey Milovidov
58a6accee5 Updated test #4246 2019-02-10 19:55:12 +03:00
Nikolai Kochetov
10b49f3a74 Removed old key getters from Join. 2019-02-05 13:55:08 +03:00
Nikolai Kochetov
6a729e59ba Merged with master. 2019-02-01 11:36:57 +03:00
chertus
26b2526a3b fix right & full join with dups (complex join on still affected) 2019-01-31 21:10:16 +03:00
chertus
866c2b2e78 move required right keys calculation to Join.cpp 2019-01-30 18:51:39 +03:00
Nikolai Kochetov
2c2932e185 Merged with master 2019-01-29 15:25:19 +03:00
Alexey Milovidov
0e59fe0b46 Renamed setting and variables #3973 2019-01-24 20:12:05 +03:00
Nikolai Kochetov
f7b9059dad Merged with master 2019-01-24 18:06:11 +03:00
Nikolai Kochetov
5f1007a8df Refactor Join. 2019-01-24 17:56:04 +03:00
alexey-milovidov
27a0c37d77
Update Join.h 2019-01-15 00:41:35 +03:00
alexey-milovidov
64c31a6ad7
Update Join.h 2019-01-15 00:40:42 +03:00
Amos Bird
8ea4d7987b Add join_overwrite settings for StorageJoin.
This makes using StorageJoin as dictionary more flexible.
2019-01-07 01:23:26 +08:00
Alexey Milovidov
237a9247cb Fixed UB #3920 2018-12-28 00:14:32 +03:00
Alexey Milovidov
b109ec8c77 Fixed UB #3920 2018-12-27 23:24:37 +03:00
Alexey Milovidov
29ffa46838 Less indirection #3920 2018-12-27 23:02:51 +03:00
Alexey Milovidov
88bdbc4dc7 Some additions to Amos Bird's optimization #3920 2018-12-27 22:58:30 +03:00
Alexey Milovidov
37bbc0ecd5 Fixed UB #3926 2018-12-26 04:08:14 +03:00
Alexey Milovidov
e8dc222b61 Fixed UB #3926 2018-12-26 03:28:13 +03:00
Amos Bird
8736a3908f left pad 2018-12-24 23:51:06 +08:00
alexey-milovidov
6d27777b19
Merge branch 'master' into ubsan-fixes-3 2018-12-14 20:52:54 +03:00
Amos Bird
65b654a1b6 Versatile StorageJoin
This commit does the following:

1. StorageJoin with simple keys now supports reading
2. StorageJoin can be created with Join settings applied. Syntax is
similar to MergeTree and Kafka
3. Left Any StorageJoin with one simple key can be used as a
dictionary-like structure by function joinGet.

Examples are listed in the related test file.
2018-12-02 16:49:39 +08:00
Alexey Milovidov
141e9799e4 Fixed error with "extractURLParameter" function (read after buffer); improved performance; added support for zero bytes in URLs; renamed Chars_t type [#CLICKHOUSE-2] 2018-11-25 03:08:50 +03:00
Alexey Milovidov
b82cf235b7 Suppressed one UBSan alert and added clarification in comment [#CLICKHOUSE-2] 2018-09-02 22:12:50 +03:00
Nikolai Kochetov
bc054f2247 Fix tests. [#CLICKHOUSE-3761] 2018-07-30 22:40:43 +03:00
Alexey Milovidov
f5adbceed2 Non significant changes according to clang's -Weverything, part 3 [#CLICKHOUSE-2] 2018-06-03 23:39:06 +03:00
Alexey Milovidov
5ff433b670 Merged Limits to Settings [#CLICKHOUSE-2021] 2018-03-11 03:15:26 +03:00
Alexey Milovidov
72aac966b1 Fixed error with order of columns in FULL JOIN that may lead to segfault [#CLICKHOUSE-2] 2018-02-21 11:16:01 +03:00
Alexey Milovidov
7284a64740 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-16 00:32:25 +03:00