Commit Graph

210 Commits

Author SHA1 Message Date
Alexander Tokmakov
a8da5d96fc remove some dead and commented code 2022-07-21 15:05:48 +02:00
vdimir
218288ee6c upd ConcurrentHashJoin 2022-07-12 20:22:35 +02:00
vdimir
8359753a85
Move DirectJoin to separate file 2022-07-04 17:28:11 +00:00
vdimir
085e70c7a3
wip left kvjoin 2022-07-04 17:28:10 +00:00
vdimir
980000d04c
Change getByKeys, add StorageEmbeddedRocksDB::getByKeysImpl 2022-07-04 17:28:09 +00:00
vdimir
744c692be3
wip key value join 2022-07-04 17:28:09 +00:00
Sergey Skvortsov
3386386a22 feat: Support grace hash join 2022-06-18 02:31:56 +03:00
Sergey Skvortsov
7285143448 refactor: Extract common hasNonJoinedBlocks 2022-06-18 02:31:51 +03:00
Amos Bird
9a6e6ccfaf
Fix significant join performance regression 2022-06-14 21:14:18 +08:00
Vladimir C
8c0dba7302
Merge pull request #37650 from amosbird/joinget-fix
Fix joinGet with  join_use_nulls = 1 and Array type
2022-06-01 13:30:29 +02:00
vdimir
284c9bc68b
Rollback some changes from appendFromBlock 2022-05-31 17:40:35 +00:00
vdimir
e7be677fca
Assert structure match up to locard in appendFromBlock 2022-05-31 16:02:58 +00:00
vdimir
7f4ddb1667
Fix assert for 02244_lowcardinality_hash_join 2022-05-31 16:02:57 +00:00
vdimir
2476c6a988
Fix error on joining with dictionary on some conditions 2022-05-31 16:02:57 +00:00
vdimir
8a3f4bda62
Fix columns number mismatch in cross join 2022-05-30 15:40:15 +00:00
Amos Bird
b68e8efaf0
Fix joinGet with cannot be null type 2022-05-30 21:01:27 +08:00
Robert Schulze
b475fbc9a7
Merge pull request #37300 from ClickHouse/cmake-cleanup-pt3
Various cmake cleanups
2022-05-20 10:02:36 +02:00
Robert Schulze
43945cea1b
Fixing some warnings 2022-05-16 20:59:27 +02:00
vdimir
76852ae49c
Pass need_filter, has_null_map to joinRightColumns 2022-05-16 14:27:27 +00:00
Amos Bird
4a5e4274f0
base should not depend on Common 2022-04-29 10:26:35 +08:00
Antonio Andelic
9e11e611c7 Match cardinality when adding columns 2022-03-25 11:12:02 +00:00
Antonio Andelic
34b2307259 Convert columns to full when multiple disjunct used 2022-03-24 13:56:00 +00:00
Maksim Kita
3c5c267c17 Improve performance of ASOF join 2022-03-23 12:19:38 +01:00
mergify[bot]
93b13c0232
Merge branch 'master' into asof_ftw 2022-03-02 13:20:50 +00:00
Raúl Marín
4439b23e2b Attempt manual unpack 2022-02-19 21:01:47 +01:00
Raúl Marín
bb1d773ffd Reduce changes against master 2022-02-18 17:58:23 +01:00
Raúl Marín
f8cc024ba1 Less indirect access 2022-02-18 16:16:29 +01:00
Raúl Marín
4ba5b931a5 AsofRowRefs: Remove extra level of indirection 2022-02-18 11:15:11 +01:00
Raúl Marín
34b110b778 Remove variant from AsofRowRefs 2022-02-18 11:02:14 +01:00
Raúl Marín
d06ef3e1db AsofRowRefs: Simplify variant code 2022-02-16 11:12:28 +01:00
vdimir
510a909d0d
Remove nullable_left/right_side flags from Hash/MergeJoin 2022-02-15 11:15:50 +00:00
vdimir
2de6eaf838
Fix LowCardinality using key for join_use_nulls in pipeline 2022-02-15 11:11:59 +00:00
vdimir
99ca89c0ca
Fix StorageJoin and Asof or join_use_nulls in pipeline 2022-02-14 14:14:27 +00:00
vdimir
ee09ec4dd1
Apply join_use_nulls on types before join 2022-02-11 15:56:45 +00:00
Anton Popov
13b35a6817 Merge remote-tracking branch 'upstream/master' into HEAD 2021-11-08 21:29:16 +03:00
Vladimir C
a9689c0f27
Merge pull request #25894 from vdimir/join-on-const-to-cross 2021-11-08 15:52:40 +03:00
vdimir
56bc802ee2
Support join on constant 2021-11-08 15:44:13 +03:00
vdimir
4bc9798c63
Some optimizations for constant conditions in JOIN ON 2021-11-08 15:36:34 +03:00
Anton Popov
d71ffc355a Merge remote-tracking branch 'upstream/master' into HEAD 2021-10-18 15:18:22 +03:00
Nikolai Kochetov
067eaadadd Merge branch 'master' into removing-data-streams-folder 2021-10-16 09:46:05 +03:00
Nikolai Kochetov
fd14faeae2 Remove DataStreams folder. 2021-10-15 23:18:20 +03:00
Anton Popov
7aa6068fb2 Merge remote-tracking branch 'upstream/master' into HEAD 2021-10-14 19:44:08 +03:00
Vladimir C
dc4bb920d3
Merge branch 'master' into join_deadlock 2021-10-11 10:18:17 +03:00
Vladimir C
b02c12b182
Merge pull request #23881 from darkkeks/fix-cross-to-inline-join-error-condition 2021-10-07 11:09:36 +03:00
Alexey Milovidov
fe6b7c77c7 Rename "common" to "base" 2021-10-02 10:13:14 +03:00
vdimir
a817bed287
Replace isComma || isCross -> isCrossOrComma 2021-10-01 14:52:12 +03:00
Raúl Marín
0ee5c0bff5 Use RWLock in StorageJoin to avoid deadlocks 2021-09-29 19:30:07 +02:00
Anton Popov
914781052e Merge remote-tracking branch 'upstream/master' into HEAD 2021-09-29 17:37:07 +03:00
Ilya Golshtein
29b911f86b rebase collisions fixed in ORs in JOIN 2021-09-28 14:11:32 +03:00
Ilya Golshtein
fa6c2a64e4 minor merge mistakes fixed in ORs in JOIN 2021-09-28 14:11:32 +03:00
Ilya Golshtein
8057e052a6 crash fix, style fixes, ASTs moved out of TableJoin in ORs in JOIN 2021-09-28 14:11:32 +03:00
vdimir
f8e8f6da14 Use table_join->getAllNames in HashJoin.cpp 2021-09-28 14:11:31 +03:00
vdimir
71b6c9414c Minor changes related to JOIN ON ORs 2021-09-28 14:11:31 +03:00
Ilya Golshtein
300eb5098d fix rebase collisions in ORs in JOIN 2021-09-28 14:11:31 +03:00
vdimir
0a9a028c6f fix 2021-09-28 14:11:31 +03:00
vdimir
46187a73ee wip 2021-09-28 14:11:31 +03:00
Ilya Golshtein
aa3d8a431a No redundant convertColumnsToNullable if ORs in JOIN 2021-09-28 14:11:30 +03:00
Ilya Golshtein
5ed6b26c9d any_join_distinct_right_table_keys tests and fix for ORs in JOIN 2021-09-28 14:11:30 +03:00
Ilya Golshtein
be034444ba fix any_join_distinct_right_table_keys crash if ORs in JOIN 2021-09-28 14:11:30 +03:00
vdimir
d37b88fb07 fix HashJoin::initRightBlockStructure 2021-09-28 14:11:30 +03:00
vdimir
38374ba07b fix join->getNonJoinedBlocks 2021-09-28 14:11:30 +03:00
Ilya Golshtein
24e3e04203 BlockWithFlags removed from vdimir's change 2021-09-28 14:11:30 +03:00
vdimir
6b6592fda7 Use JoinUsedFlags with multiple dijuncts 2021-09-28 14:11:30 +03:00
Ilya Golshtein
68d6a0ee85 prohibit storage join if ORs 2021-09-28 14:11:29 +03:00
Ilya Golshtein
4bddd0bc71 make PVS check happy with ORs in JOIN 2021-09-28 14:11:29 +03:00
Ilya Golshtein
d0990e270a making gcc happy, minor improvements in ORs in JOIN 2021-09-28 14:11:29 +03:00
Ilya Golshtein
b03415bd0e Fixed other bug if OR together with filter conditions 2021-09-28 14:11:29 +03:00
Ilya Golshtein
f94b2cba2d Fixed bug if OR together with filter conditions, some comments 2021-09-28 14:11:29 +03:00
Ilya Golshtein
a18c6f7f8e merge error fixed 2021-09-28 14:11:29 +03:00
Ilya Golshtein
db50015eed review changes 1 - ASTPtr, some comments 2021-09-28 14:11:29 +03:00
Ilya Golshtein
3766d47f31 ORs in JOINs 2021-09-28 14:11:28 +03:00
Anton Popov
6f9e53197c Merge remote-tracking branch 'upstream/master' into HEAD 2021-09-20 17:17:05 +03:00
alexey-milovidov
5f5b96aa57
Merge pull request #28982 from vdimir/issue-28660-pmj-fuzz
Add additional checkTypesOfKeys to JoiningTransform::transformHeader
2021-09-20 12:30:00 +03:00
Anton Popov
eef436fe22 Merge remote-tracking branch 'upstream/master' into HEAD 2021-09-16 18:07:42 +03:00
vdimir
2aef13e802
Update error messages for logical errors in HashJoin 2021-09-14 15:05:09 +03:00
vdimir
1fdbb9509f
Add additional checkTypesOfKeys to JoiningTransform::transformHeader 2021-09-14 11:03:22 +03:00
Anton Popov
8203bd1ac6 Merge remote-tracking branch 'upstream/master' into HEAD 2021-09-09 14:04:37 +03:00
vdimir
ed8c156190
Clean up TableJoin storage join 2021-09-01 15:05:47 +03:00
Anton Popov
c3c3a06078 Merge remote-tracking branch 'upstream/master' into HEAD 2021-08-20 01:45:38 +03:00
vdimir
ca67bf0e5a
Fix NotJoinedBlocks::read, add logging 2021-08-18 11:18:33 +03:00
vdimir
2dfbbe364b
Do not use BlockInputStream for NonJoined 2021-08-17 16:30:01 +03:00
vdimir
9d8178d04c
Refactor NotJoined pt2: rename classes, get rig of inheritance 2021-08-17 13:32:16 +03:00
vdimir
afa748c717
Refactor NotJoined pt1 2021-08-17 13:32:16 +03:00
vdimir
d53ade572e
Fix non joined stream structure 2021-08-06 14:54:04 +03:00
Anton Popov
16ed0f6ed4 Merge remote-tracking branch 'upstream/master' into HEAD 2021-08-02 17:55:17 +03:00
Vladimir
576b407804
Support conditions in JOIN ON section (#24420)
* Try to enforce table identification in CollectJoinOnKeysMatcher

* Support filtering conditions in JOIN ON for HashJoin

* Correct handle non equi join

* Update test 00878_join_unexpected_results

* Join on filters calculated as one row before join

* Do not lookup key in hash join if condition for row is not hold

* better

* Support filtering conditions in JOIN ON for MergeJoin

* Support Nullable mask in JOIN ON section

* Fix style in Interpreters/TableJoin.cpp

* Change return type of getColumnAsMask in join_common to ColumnPtr

* Handle Nullable(Nothing) type in JOIN ON section, add test cases

* Fix type cast JoinCommon::getColumnAsMask

* Check type if conditions in JOIN ON section, support functions

* Update tests with JOIN ON

* Style changes, add comments for conditions in JOIN ON section

* Add test cases for join on condtions

* JOIN ON key1 = key2 AND (cond1 OR cond2)

* Remove CollectJoinOnKeysVisitor has_join_keys

* Add test cases for join on nullable/lc conditions

* Fix style

* Change error code 48 to 403 in join on tests

* Fix whitespace
2021-07-21 20:03:33 +03:00
Anton Popov
c4b454494f Merge remote-tracking branch 'upstream/master' into HEAD 2021-07-20 15:41:01 +03:00
vdimir
b49e37aa07
Rewrite join totals, fix block structure mismatch 2021-07-14 13:02:23 +03:00
Anton Popov
14168b11f2 Merge remote-tracking branch 'upstream/master' into HEAD 2021-07-07 17:05:11 +03:00
vdimir
4ce829d7c1
Create KeyGetter outside of joinRightColumns 2021-06-23 14:27:39 +03:00
vdimir
8f9166df4e
Add read flag to KeyGetterForDict 2021-06-23 14:15:31 +03:00
Anton Popov
567043113c Merge remote-tracking branch 'upstream/master' into HEAD 2021-06-21 01:36:06 +03:00
Vladimir
fab7c9c7f6
Merge pull request #24061 from vdimir/issue-23351 2021-06-18 11:07:28 +03:00
vdimir
05115dcd32
Merge branch 'master' into issue-23351 2021-06-15 12:06:42 +03:00
Amos Bird
4c573b36fe
Fix joinGetOrNull with not-nullable columns 2021-06-15 16:34:53 +08:00
Anton Popov
e69cbab3fb Merge remote-tracking branch 'upstream/master' into HEAD 2021-06-02 20:18:19 +03:00
Alexander Kuzmenkov
f51ecf8a72
Merge pull request #23769 from vdimir/issue-20309
Add qualified names for right columns for storage join
2021-06-01 14:42:49 +03:00
vdimir
8dddcebe8c
Handle correct nullability with low card in HashJoin 2021-05-15 17:09:51 +03:00
vdimir
9091bba3d6
Restore correct cardinality in HashJoin 2021-05-15 14:39:13 +03:00
Anton Popov
d8df0903b9 Merge remote-tracking branch 'upstream/master' into HEAD 2021-05-14 23:38:16 +03:00