Commit Graph

44 Commits

Author SHA1 Message Date
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
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
vdimir
6172cc1676
Fix build, inferJoinKeyCommonType definition 2021-09-01 15:08:58 +03:00
vdimir
df873866c9
Don't store converting actions in TableJoin 2021-09-01 15:05:48 +03:00
vdimir
ed8c156190
Clean up TableJoin storage join 2021-09-01 15:05:47 +03:00
vdimir
c4ffc2879f
Perform join type inference for USING at ExpressionAnalyzer instead of TreeRewriter 2021-09-01 15:05:47 +03:00
vdimir
c4654d6b45
Add option to getMostSubtype/getLeastSupertype to not throw exception 2021-08-31 15:27:25 +03:00
Kruglov Pavel
7fe7103e53
Merge pull request #27299 from vdimir/issue-27091-v2
Refactor NotJoined
2021-08-19 19:16:32 +03:00
vdimir
afa748c717
Refactor NotJoined pt1 2021-08-17 13:32:16 +03:00
vdimir
a0ed37e04e
Ignore constness in ExpressionActionsChain::JoinStep
Fix 01064_pm_all_join_const_and_nullable with bad cast check
2021-07-28 16:35:02 +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
tavplubix
182c10826c
Update TableJoin.h 2021-06-11 17:47:30 +03:00
vdimir
c3aec8ae57
Fix random indentation to trigger ci 2021-06-11 14:03:53 +03:00
vdimir
8197e1c0c1
Add qualified names for right columns for storage join 2021-04-29 17:30:02 +03:00
vdimir
3266bbb54c
TableJoin: forceHashJoin for dictionary_reader, add tests 2021-04-20 12:52:52 +03:00
vdimir
5c18bbeb43
Clean converting-related fields in TableJoin::resetCollected 2021-03-05 17:41:39 +03:00
vdimir
b0f6f30298
Revert "Refactor join: make IJoin implementations independent from TableJoin"
This reverts commit e6406c3f4c.
2021-03-05 17:34:43 +03:00
vdimir
e6406c3f4c
Refactor join: make IJoin implementations independent from TableJoin 2021-03-05 16:38:49 +03:00
vdimir
1e37d7c84f
Add comments to TableJoin::inferJoinKeyCommonType 2021-02-19 14:28:41 +03:00
vdimir
456414beea
Fix converting join on keys, move actions into TableJoin 2021-02-19 14:28:41 +03:00
vdimir
3a7eddcf3a
Remove addRequiredLeftColumn, some tests for join on different types 2021-02-19 14:28:40 +03:00
vdimir
a378bd08aa
Perform implicit type conversion for JOIN ON keys 2021-02-19 14:28:40 +03:00
vdimir
4203dd5e38
Give up on name mismatch in inferJoinKeyCommonType 2021-02-19 14:28:39 +03:00
vdimir
435f63f42b
Calculate common type for join using in TreeRewriter
Split before_join and converting_join_columns dags

Add more detailed comments for column type conversion for join using
2021-02-19 14:28:32 +03:00
vdimir
d15c1a203b
Fix TableJoin, upd 01675_join_implicit_cast 2021-02-19 14:24:34 +03:00
vdimir
f5b98015a8
Fix converting right key type in join using 2021-02-19 14:24:33 +03:00
Nikolai Kochetov
4aeed33d4c Fix build. 2020-09-08 14:07:26 +03:00
Nikolai Kochetov
07e835381c Fix build. 2020-09-08 14:06:36 +03:00
Nikolai Kochetov
39aad9979a Remove Join from ExpressionActions. 2020-09-08 13:40:53 +03:00
Vitaly Baranov
18e3f1f60d Split SettingsCollection.h into 3 files: SettingsFields.h, SettingsEnums.h, SettingsCollection.h 2020-07-31 19:11:27 +03:00
Gleb Novikov
aac97957ce Fixed integration test_tmp_policy 2020-07-26 21:27:36 +03:00
Gleb Novikov
7f5b6fba78 Generic volume is coming...
1. SingleDiskVolume for temporary volumes
2. Generic VolumePtr in StoragePolicies
3. Removed max_data_part_size in system.storage_policies, added volume_type
2020-07-26 21:27:36 +03:00
Artem Zuikov
2afd123eda
Refactoring: extract TreeOptimizer from SyntaxAnalyzer (#12645) 2020-07-22 20:13:05 +03:00
Artem Zuikov
6b26842ce5
RIGHT and FULL JOIN for MergeJoin (#12118) 2020-07-10 21:10:06 +03:00
Artem Zuikov
857d84bf7c
Buffer left blocks optimisation for MergeJoin (#10601) 2020-06-16 23:13:18 +03:00
Artem Zuikov
9b38324028
fix JOIN with PREWHERE with second analyze() (#11051) 2020-05-20 12:29:23 +03:00
Gleb Novikov
c637d99e07 Volumes and storages refactoring:
1. Moved Volume to separate file
  2. Created IVolume interface and implemented current behaviour in implementation of new interface — VolumeJBOD
  3. Replaced all old volume usages with new VolumeJBOD. Where it is unnecessary to have JBOD — left just IVolume.
  4. Removed old Volume completely
  5. Moved StoragePolicy to separated files
  6. Moved DiskSelector to separated files
  7. Removed DiskSpaceMonitor file
2020-05-04 23:15:38 +03:00
Artem Zuikov
e34a9457e6
Improve right table insert for Partial MergeJoin on disk (#10467) 2020-04-28 16:55:50 +03:00
Artem Zuikov
0b7ae2c2bf working version 2020-04-13 20:03:11 +03:00
Artem Zuikov
0cd49d746f several fixes 2020-04-09 23:00:57 +03:00
Artem Zuikov
8d6f641796 join over dictionary concept 2020-04-08 21:59:52 +03:00
Artem Zuikov
8297683972
renames: AnalyzedJoin -> TableJoin, Join -> HashJoin (#10065) 2020-04-07 12:48:47 +03:00