Commit Graph

75 Commits

Author SHA1 Message Date
vdimir
ed8c156190
Clean up TableJoin storage join 2021-09-01 15:05:47 +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
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
vdimir
b49e37aa07
Rewrite join totals, fix block structure mismatch 2021-07-14 13:02:23 +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
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
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
vdimir
cb89a2be97
StorageJoin clashing column name with JOIN ON 2021-05-10 17:56:12 +03:00
vdimir
f03f591e55
Upd comments for StoreageJoin 2021-05-10 17:54:32 +03:00
vdimir
abdb731ce2
Merge branch 'master' into issue-20309 2021-05-06 09:07:51 +03:00
Alexey Milovidov
86169cc36e Merge branch 'master' into normalize-bigint 2021-05-04 14:53:42 +03:00
vdimir
8197e1c0c1
Add qualified names for right columns for storage join 2021-04-29 17:30:02 +03:00
Nikolai Kochetov
69ddca1d73 Refactor join step, part 3 2021-04-28 20:32:12 +03:00
Alexey Milovidov
649550c5ab Attempt to normalize big integers 2021-04-25 12:30:43 +03:00
Alexey Milovidov
8f01af62d9 Merge branch 'master' into normalize-bigint 2021-04-25 06:57:44 +03:00
Vladimir
df728dc4ba
Merge pull request #21248 from vdimir/fix-join-totals-nullable
Convert columns to nullable for totals in join
2021-02-27 11:31:02 +03:00
vdimir
932286df1f
Convert columns to nullable for totals in join 2021-02-26 16:32:34 +03:00
vdimir
9c1ba71416
Merge remote-tracking branch 'upstream/master' into fix-race-storage-join 2021-02-25 19:13:49 +03:00
vdimir
6f864ddb42
Minor changes in Hash/StorageJoin, add TableLockHolder to ExecutableFunctionJoinGet 2021-02-25 14:21:06 +03:00
vdimir
f1c60109f6
Add static_assert to joinGet to keep information about current locking logic 2021-02-25 12:42:20 +03:00
vdimir
2f70e895fc
Update StorageJoin locking
Move joinGet into StorageJoin

Protect JoinSource with lock, add test

Add comments about locking logic
2021-02-25 12:31:22 +03:00
vdimir
6aa4791be2
Remove unused *Locked methods from HashJoin, add comments 2021-02-24 19:19:04 +03:00
Amos Bird
2cb273d436
Fix 2021-02-24 16:44:51 +08:00
Amos Bird
0f7f2a4962
Support LC type for joinGet 2021-02-24 11:35:45 +08:00
vdimir
6cc2fb5e9f
Try to fix race in storage join: block parralel inserts 2021-02-20 18:00:59 +03:00
vdimir
776b682f28
Add comment for used_flags in hash join, fix build 2021-02-08 14:38:31 +03:00
vdimir
01a6e01ad7
Store usage info flags separate from row refs in hash join 2021-02-05 16:20:13 +03:00
Alexey Milovidov
b9b573976e Minor code improvement in JOIN 2021-01-28 11:26:10 +03:00
Alexey Milovidov
093108bf81 Normalize BigInt implementation 2021-01-27 03:54:57 +03:00
vdimir
06d0252e76
Use IDataType::insertDefaultInto for inserting default values in join 2021-01-21 17:23:58 +03:00
vdimir
2f11fdf4df
Fix default value in join types with non-zero default (close #18197) 2021-01-21 16:49:44 +03:00
Alexey Milovidov
5358890039 Remove bad code in HashJoin 2021-01-05 02:49:31 +03:00
Alexey Milovidov
203af8b7ec Fix error 2020-12-30 16:52:37 +03:00
Alexey Milovidov
f98cbd7696 Fix TSan report in StorageSet and StorageJoin 2020-12-23 05:10:37 +03:00
Nikolai Kochetov
07a7c46b89 Refactor ExpressionActions [Part 3] 2020-11-03 14:28:28 +03:00
Nikolai Kochetov
109fd9d6d7
Merge pull request #13015 from amosbird/jgmko
Refactor joinGet and implement multi-key lookup.
2020-09-13 22:39:48 +03:00
Artem Zuikov
7c20aa2c62
Another 256-bit integers (strict 32 bytes) (#14229) 2020-09-04 16:33:02 +03:00
Artem Zuikov
d304d522cc
Refactoring: rename types to allow change bigint library (#14219) 2020-09-01 12:54:50 +03:00
Alexey Milovidov
12f66fa82c Fix 99% of typos 2020-08-08 04:01:47 +03:00
Artem Zuikov
d4266d9619
fix left asof join with join_use_nulls (#13291) 2020-08-04 02:11:39 +03:00
Amos Bird
230938d3a3
Refactor joinGet and implement multi-key lookup. 2020-07-28 22:38:52 +08:00