Commit Graph

158 Commits

Author SHA1 Message Date
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
Alexey Milovidov
0ea105f639 Simplification of Nullable [#CLICKHOUSE-2] 2017-12-07 11:31:47 +03:00
Alexey Milovidov
acd78e4891 Better [#CLICKHOUSE-2]. 2017-12-02 00:13:25 +03:00
Иванов Евгений
e846d62410 Added support UUID type for distinct, uniq* functions and joins 2017-11-12 04:07:05 +03:00
Alexey Milovidov
d29c77adea Implemented some suggestions from clang-tidy (part 3) [#CLICKHOUSE-3301]. 2017-09-08 06:47:27 +03:00
Alexey Milovidov
dd1f54bce2 Changed Poco::RWLock to std::shared_lock [#APRILDEV-91]. 2017-07-28 20:34:02 +03:00
alexey-milovidov
d4d266fa18 ColumnConst unification (#1011)
* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* Fixed error in ColumnArray::replicateGeneric [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].

* ColumnConst: unification (incomplete) [#CLICKHOUSE-3150].
2017-07-21 09:35:58 +03:00
Nikolai Kochetov
75be0b81d8 removed typeid_cast from IColumn.h 2017-07-13 23:58:19 +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
7454185a0a Fixed join_use_nulls setting [#CLICKHOUSE-4]. 2017-04-07 23:30:52 +03:00
Alexey Milovidov
463fddb2ca Joins by Nullable keys: development [#CLICKHOUSE-4]. 2017-04-07 00:44:52 +03:00
Alexey Milovidov
ab215c0fcd join_use_nulls: development; added test [#CLICKHOUSE-4]. 2017-04-07 00:09:39 +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
f1yegor
b4c23f122a Translated comments 2017-04-02 20:37:49 +03:00
Alexey Milovidov
310736cd7e Moved headers and sources to same place [#CLICKHOUSE-3]. 2017-04-01 12:22:42 +03:00
Alexey Milovidov
137ad95929 Changed tabs to spaces in code [#CLICKHOUSE-3]. 2017-04-01 11:35:09 +03:00
Alexey Milovidov
40ce6f86db Allowed JOIN to work with Nullable keys [#CLICKHOUSE-4]. 2017-03-30 17:09:24 +03:00
Alexey Milovidov
8cf0e87382 Unified JOIN variants (continued) [#CLICKHOUSE-4]. 2017-03-28 10:00:03 +03:00
Alexey Milovidov
b859463296 Unified JOIN variants. Added all variants from Set [#CLICKHOUSE-4]. 2017-03-28 09:51:22 +03:00
Alexey Milovidov
a8f6a3127d Implemented limited support for NULLs in IN operator [#CLICKHOUSE-4]. 2017-03-28 06:00:33 +03:00
alexey-milovidov
ed5b521110 Less dependencies 2 (#378)
* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].

* Less dependencies [#CLICKHOUSE-2].
2017-01-21 08:24:28 +04:00
Alexey Milovidov
ca37f28b5f Renamed methods Block::rows and Block::rowsInFirstColumn [#METR-2944]. 2017-01-02 23:45:27 +03:00
Alexey Milovidov
2b4f3b5d34 Renamed method (less confusion) [#METR-2944]. 2017-01-02 23:12:12 +03:00
Alexey Arno
924402f33e dbms: Server: merged from master [#METR-19266] 2016-10-19 18:00:56 +03:00
Alexey Milovidov
6b2755bf2a Non significant change [#METR-2944]. 2016-09-23 23:33:06 +03:00
Alexey Arno
e822631310 dbms: cleanup [#METR-19266] 2016-08-18 18:58:46 +03:00
Alexey Milovidov
61b9996d9e Better [#METR-22173]. 2016-08-05 05:28:34 +03:00
Alexey Milovidov
fb5981871a Avoid copying ColumnWithTypeAndName [#METR-22173]. 2016-08-05 02:35:07 +03:00
Alexey Milovidov
1700f4e132 Added support for complex typed arguments for function toString [#METR-22263]. 2016-07-30 07:39:51 +03:00
Alexey Milovidov
130ec8b58b Compatibility with new parser and AST of tables list [#METR-2944]. 2016-07-22 23:39:28 +03:00
Alexey Milovidov
3c1c9d46f7 Using std::shared_ptr for data types [#METR-21503]. 2016-05-28 15:22:22 +03:00
Alexey Milovidov
4c7eb03b63 Using std::shared_ptr for data types [#METR-21503]. 2016-05-28 13:35:44 +03:00
Alexey Milovidov
4b7f461e46 Using std::shared_ptr for columns [#METR-21503]. 2016-05-28 08:31:36 +03:00
Alexey Milovidov
c062fc1ce0 dbms: cutting dependency [#METR-2944]. 2016-01-12 05:21:15 +03:00
Alexey Milovidov
7fa1a57165 dbms: fixed excessive memory allocation when splitting single-level block in Aggregator [#METR-17000]. 2015-12-05 10:01:18 +03:00
Alexey Milovidov
c9a8f19def dbms: fixed error with tuples of consts [#METR-18586]. 2015-10-29 00:21:18 +03:00
Alexey Milovidov
7dc7144011 dbms: fixed error with column order in RIGHT and FULL JOINs [#METR-17550]. 2015-09-03 23:48:02 +03:00
Alexey Milovidov
57a91256a2 dbms: FULL and RIGHT JOIN: development [#METR-15418]. 2015-07-24 00:19:30 +03:00
Alexey Milovidov
fb7520d2cd dbms: FULL and RIGHT JOIN: development [#METR-15418]. 2015-07-24 00:03:51 +03:00
Alexey Milovidov
763fe6fb93 dbms: added CROSS JOIN [#METR-16893]. 2015-07-23 23:23:24 +03:00
Alexey Milovidov
0f954021cb dbms: FULL and RIGHT JOIN: development [#METR-15418]. 2015-07-22 23:54:42 +03:00
Alexey Milovidov
c0e029bb1b dbms: renamed ColumnWithNameAndType to ColumnWithTypeAndName for clarification [#METR-2944]. 2015-07-17 04:27:35 +03:00
Alexey Milovidov
9237e308fb dbms: JOIN: added checking of types of key columns [#METR-16762]. 2015-06-10 02:50:22 +03:00
Alexey Milovidov
161d30c902 dbms: adding checking of types when JOIN (incomplete) [#METR-16762]. 2015-06-10 00:34:45 +03:00
Alexey Milovidov
d1df9bd43b dbms: Join: added support for constant keys [#METR-16762]. 2015-06-09 23:55:15 +03:00
Alexey Milovidov
c94bd2fc09 dbms: removed useless code [#METR-16739]. 2015-06-08 23:22:02 +03:00
Alexey Milovidov
baaf5d0485 dbms: allowed to JOIN with empty table [#METR-16476]. 2015-05-26 03:37:48 +03:00
Alexey Milovidov
4f469ea831 dbms: preparation [#METR-15418]. 2015-04-19 01:33:24 +03:00
Alexey Milovidov
a2f2cc369d dbms: preparation for FULL and RIGHT JOINs [#METR-15418]. 2015-04-17 11:46:06 +03:00
Alexey Milovidov
b69900e6c1 dbms: added missing function [#METR-2944]. 2015-04-16 14:40:18 +03:00
Alexey Milovidov
114b3de689 dbms: cut dependencies [#METR-2944]. 2015-04-16 09:12:35 +03:00
Alexey Milovidov
0828dba841 dbms: preparation [#METR-2944]. 2015-03-02 04:10:58 +03:00
Alexey Milovidov
bbd48f8921 dbms: Aggregator: added specialization for many (up to 256 bit) fixed-size keys (up to 3x performance improvement) [#METR-2944]. 2015-02-22 08:53:16 +03:00
Alexey Milovidov
ea113f138f dbms: preparation [#METR-2944]. 2015-02-13 04:17:44 +03:00
Alexey Milovidov
2b506a0a73 dbms: addition to prev. revision [#METR-2944]. 2015-01-29 06:11:10 +03:00
Alexey Milovidov
6db5e98515 dbms: StorageJoin: fixed error [#METR-2944]. 2015-01-29 06:07:58 +03:00
Alexey Milovidov
8a61f96d67 dbms: StorageJoin: development [#METR-2944]. 2015-01-28 00:24:24 +03:00
Alexey Milovidov
313fe36e7a dbms: addition to prev. revision [#METR-13322]. 2014-11-07 03:02:53 +03:00
Alexey Milovidov
8643f02ac0 dbms: reworked GLOBAL subqueries (probably doesn't work) [#METR-11370]. 2014-07-06 23:48:39 +04:00
Alexey Milovidov
1579017cfd dbms: JOINs: fixed dealing with aliases [#METR-11370]. 2014-07-03 00:23:48 +04:00
Alexey Milovidov
108a7850a5 dbms: improved performance on short queries [#METR-11571]. 2014-06-26 04:58:14 +04:00
Alexey Milovidov
4645131f7a dbms: added ALL JOINs [#METR-11370]. 2014-06-19 23:00:58 +04:00