Commit Graph

42 Commits

Author SHA1 Message Date
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
Alexey Milovidov
819287b697 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-13 04:27:53 +03:00
Alexey Milovidov
f5a06cee5b Simplification of Nullable [#CLICKHOUSE-2] 2017-12-07 11:47:13 +03:00
Alexey Milovidov
bdd25b15bd Better [#CLICKHOUSE-2]. 2017-12-01 22:34:51 +03:00
Alexey Milovidov
a3fa44e71a Miscellaneous [#CLICKHOUSE-2]. 2017-11-12 03:46:22 +03:00
Alexey Milovidov
dd1f54bce2 Changed Poco::RWLock to std::shared_lock [#APRILDEV-91]. 2017-07-28 20:34:02 +03:00
Alexey Zatelepin
aeb83f9ef7 fix key columns indexing for RIGHT and FULL joins [#CLICKHOUSE-2979] 2017-04-27 23:15:45 +03:00
Alexey Milovidov
baf2e6e95b Added 'join_use_nulls' setting to allow using NULLs as default values for non-joined rows in case of outer joins [#CLICKHOUSE-2]. 2017-04-04 09:52:39 +03:00
Alexey Milovidov
310736cd7e Moved headers and sources to same place [#CLICKHOUSE-3]. 2017-04-01 12:22:42 +03:00