Commit Graph

219 Commits

Author SHA1 Message Date
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
27776ca929 fix up wrong assumption that the sample_block_with_keys has same ordering as key_names_right 2019-03-31 22:56:37 +01:00
Martijn Bakker
7ea03f6fa7 appears to work and get the correct timestamps 2019-03-31 22:14:43 +01:00
Martijn Bakker
4a7393cfc6 include the asof column in the block stored. overall not working yet but at least doesnt crash anymore 2019-03-31 20:03:57 +01:00
Martijn Bakker
4709b744bb address the code review issues 2019-03-30 21:30:21 +00:00
Martijn Bakker
4a94545882 add test for multiple supported asof types 2019-03-30 12:52:48 +00:00
Martijn Bakker
7c5febb6aa Merge branch 'master' into martijn-asof-nomap 2019-03-30 02:02: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
chertus
6bdbf75e30 fix crash when joining nulluble vs not nullable 2019-03-29 21:07:22 +03:00
Martijn Bakker
9ac52b9368 fix master merge 2019-03-28 21:06:49 +00:00
Martijn Bakker
46f4557944 Merge branch 'master' into martijn-asof-join 2019-03-28 20:20:17 +00:00
Martijn Bakker
e7a10b8a3e add inner asof join with tests 2019-03-28 19:31:11 +00:00
Martijn Bakker
817a9244c0 fix up code style 2019-03-28 19:03:57 +00:00
Martijn Bakker
b0fd915724 remove the ASOFSplit struct 2019-03-28 18:35:50 +00:00
chertus
2a5b4b3b31 fix ANY JOIN nulls in right key (ALL JOIN is still affected) 2019-03-27 16:37:11 +03:00
chertus
e92dcd4774 fix clang release build 2019-03-27 01:47:38 +03:00
Martijn Bakker
ac68fc8088 pass the half-enforced style checks such that they cannot be run on a whole file automatically :( 2019-03-26 22:05:51 +00:00
Martijn Bakker
84f40ddf02 fix build as cpp does not do partial function specialization 2019-03-26 20:13:15 +00:00
chertus
0a0e986f75 fix crash on join not nullable with nullable 2019-03-26 22:46:03 +03: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
chertus
b1f4cc6ed2 fix left join with const column 2019-03-20 20:20:14 +03:00
chertus
2ea11f8528 more Joins.cpp refactoring (constexpr if) 2019-03-20 18:52:41 +03:00
chertus
efa4a2bb18 minor changes 2019-03-20 18:15:44 +03:00
chertus
2713d36ce8 syntax: remove tab 2019-03-20 17:49:05 +03:00
chertus
1bb05eb089 more Join.cpp refactoring (hide some logic into AddedColumns) 2019-03-20 17:41:35 +03:00
chertus
2a4da2f687 more refactoring (rename misleading variable) 2019-03-20 16:38:17 +03:00
chertus
e1f015295b rename functions & add comment 2019-03-20 15:28:45 +03:00
chertus
ef2d77f946 some more refactoring 2019-03-20 15:08:38 +03:00
chertus
e5a9633132 Join.cpp refactoring 2019-03-19 19:53:36 +03:00
chertus
09a3b24cbc join kind helpers 2019-03-11 14:14:09 +03:00
alexey-milovidov
695a2dc35f
Merge pull request #4552 from 4ertus2/bugs
Fix crash on JOIN with array or tuple
2019-03-01 18:49:22 +03:00
chertus
83503df56a fix crach on JOIN with array or tuple 2019-03-01 18:32:32 +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
chertus
3218f5003f fix full/right join different number of columns 2019-02-12 15:11:45 +03:00
Alexey Milovidov
58a6accee5 Updated test #4246 2019-02-10 19:55:12 +03:00
alexey-milovidov
2686f64233
Merge pull request #4128 from yandex/unified-sets
Unified sets
2019-02-06 20:40:11 +03:00
chertus
396d4fb921 hotfix for duplicates in JOIN ON #4271 2019-02-05 19:58:57 +03:00
Nikolai Kochetov
a249fc7788 Do nut use Arena in ColumnsHashing for string in functions arrayUniq and arrayEnumerate. 2019-02-05 14:14:09 +03:00
Nikolai Kochetov
8db4116464 Update HashMethodHashed. 2019-02-05 13:55:08 +03:00
Nikolai Kochetov
6a729e59ba Merged with master. 2019-02-01 11:36:57 +03:00
alexey-milovidov
bd62e2d85d
Merge pull request #4184 from 4ertus2/joins
Fix JOIN with duplicates [issue-4108]
2019-02-01 01:35:37 +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
alexey-milovidov
fd5ab9ed2e
Merge pull request #4055 from yandex/fix-group-by-array-low-cardibality-arguments
Fix group by array low cardinality arguments
2019-01-29 21:32:45 +03:00
Nikolai Kochetov
21242ad658 Added tests. Restored recursiveRemoveLowCardinality interface. 2019-01-29 18:44:02 +03:00
chertus
9c6f71bb7e fix inner and left join with duplicates [issue-4108] 2019-01-29 15:38:53 +03:00
Nikolai Kochetov
2c2932e185 Merged with master 2019-01-29 15:25:19 +03:00
Nikolai Kochetov
5d29562302 Fix build. 2019-01-29 13:56:44 +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
f13d094a4e
Merge pull request #3973 from amosbird/join_overwrite
Add join_overwrite settings for StorageJoin.
2019-01-24 02:05:13 +03:00
Ivan Lezhankin
05ab15cc84 Merge IBlockInputStream and IProfilingBlockInputStream into one 2019-01-23 17:48:50 +03:00
alexey-milovidov
8a401e491a
Update Join.cpp 2019-01-15 00:40:02 +03:00
Nikolai Kochetov
5a50a4fe21 Fix aggregate function low cardinality array argument. #4038 2019-01-14 21:17:55 +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
06a8c3f02d Added some warnings from clang's -Weverything 2019-01-05 06:33:22 +03:00
Alexey Milovidov
1d4701b0bc Added some warnings from clang's -Weverything 2019-01-04 15:10:00 +03:00
Alexey Milovidov
cfc1e207ab Fixed UB #3926 2018-12-26 02:27:52 +03:00
Alexey Milovidov
a8f09809f5 Simplified logic with "IColumn::convertToFullColumnIfConst" (suggested by Amos Bird) [#CLICKHOUSE-2] 2018-12-21 19:00:07 +03:00
alexey-milovidov
7af621f6f7
Merge pull request #3728 from amosbird/join
Versatile StorageJoin
2018-12-10 23:16:53 +03:00
Nikolai Kochetov
e4fd13f237 Remove LowCardinaity for joined keys. 2018-12-10 13:23:45 +03:00
Nikolai Kochetov
61cd6fe2d3 Remove LowCardinaity for joined keys. 2018-12-10 13:21:32 +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
Amos Bird
d092d35fa9 NonJoinedStream[ALL] bypasses max_block_size 2018-11-30 22:59:17 +08:00
Nikolai Kochetov
c470cf1e26 Fix joined keys from right column with left join. [#CLICKHOUSE-3994] 2018-10-02 21:16:47 +03:00
alexey-milovidov
f22b12b698
Update Join.cpp 2018-08-30 22:52:28 +03:00
proller
81960a2690 CLICKHOUSE-3940 Fix crash on join 2018-08-30 18:44:30 +03:00
Nikolai Kochetov
bc054f2247 Fix tests. [#CLICKHOUSE-3761] 2018-07-30 22:40:43 +03:00
Nikolai Kochetov
7d9ebae2c2 Better comments. 2018-07-27 20:11:56 +03:00
Nikolai Kochetov
5058d1a345 Added columns from join on key of right table if they have different name from left block key in merged block. [#CLICKHOUSE-3761] 2018-07-27 19:01:48 +03:00
Alexey Milovidov
ca52d96e09 Insignificant changes for PVS-Studio [#CLICKHOUSE-3] 2018-06-04 22:22:27 +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
bb05235608 Added method "getHeader" in IBlockOutputStream: development [#CLICKHOUSE-2] 2018-02-20 00:01:46 +03:00
Alexey Milovidov
afe09d3138 Removed unused code [#CLICKHOUSE-2] 2018-02-18 06:46:18 +03:00
Alexey Milovidov
754a4296df Header in every stream: fixed non-deterministic test [#CLICKHOUSE-2] 2018-02-18 06:23:48 +03:00
Alexey Milovidov
550053a0ca Merge branch 'master' into header-in-input-streams 2018-01-10 03:05:51 +03:00
Amos Bird
a3d2a4fe4d NonJoinedBlockInputStream generates duplicate records across block.
This patch fixes the iterator incrementation.
2018-01-09 20:30:07 +03:00
Alexey Milovidov
9996e181e1 Added method "getHeader" in IBlockInputStream [#CLICKHOUSE-2] 2018-01-06 21:10:44 +03:00
Alexey Milovidov
6c8a0e70fd Additions after merge [#CLICKHOUSE-2]. 2017-12-19 23:09:15 +03:00
alexey-milovidov
7a97d08b04
Merge branch 'master' into CLICKHOUSE-3361 2017-12-19 23:03:17 +03:00
Alexey Milovidov
c5d5296889 Miscellaneous [#CLICKHOUSE-2]. 2017-12-18 07:07:26 +03:00
Alexey Milovidov
6bad555b9d Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-17 13:39:22 +03:00
Alexey Milovidov
f501f6990e Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-17 13:20:48 +03:00
Alexey Milovidov
c0670435ab Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-17 11:44:06 +03:00
Alexey Milovidov
7284a64740 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-16 00:32:25 +03:00
Alexey Milovidov
9c9896c1a9 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-15 22:17:15 +03:00
Alexey Milovidov
b2aff7521b Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-15 06:47:43 +03:00
Nikolai Kochetov
08fed58a25 use columns from left block out of columns with same name at Join [#CLICKHOUSE-3361] 2017-12-14 18:28:30 +03:00
Alexey Milovidov
fb38ef9a8e Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-14 06:56:56 +03:00
Alexey Milovidov
bed2d644e6 Merge remote-tracking branch 'origin/master' into cow_columns 2017-12-14 04:44:35 +03:00
Alexey Milovidov
b3277408c4 Added fix from proller [#CLICKHOUSE-2]. 2017-12-13 23:43:51 +03:00
Alexey Milovidov
819287b697 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-13 04:27:53 +03:00
Alexey Milovidov
c3015bece3 Miscellaneous [#CLICKHOUSE-2]. 2017-12-11 01:44:04 +03:00
Alexey Milovidov
3def5f03f5 Cleanup semantics of data types [#CLICKHOUSE-2]. 2017-12-09 19:17:37 +03:00
Alexey Milovidov
7f6c48d5de Cleanup semantics of data types [#CLICKHOUSE-2]. 2017-12-09 19:17:37 +03:00