Commit Graph

141 Commits

Author SHA1 Message Date
Maksim Kita
40cb904a3d Added support for JOIN, ARRAY JOIN 2022-10-24 10:22:19 +02:00
Igor Nikonov
75f6fcfa70 Merge remote-tracking branch 'origin/master' into skipping_sorting_step 2022-08-11 12:35:55 +00:00
Maksim Kita
c030fd05e7 ActionsDAG rename index to outputs 2022-08-08 18:01:32 +02:00
Igor Nikonov
0cb59aa38c ExpressionStep: simple check if expression changes sorting order 2022-08-02 10:45:05 +00:00
Vladimir C
14a820c2a9
Merge pull request #37336 from vdimir/fix_clash_const_aggegate_join 2022-05-23 17:09:30 +02:00
Alexey Milovidov
d1678c9662
Update ExpressionActions.cpp 2022-05-21 23:43:26 +03:00
avogar
22b072bc7f Make better 2022-05-20 13:04:43 +00:00
avogar
3884819bd1 Fix 2022-05-20 12:48:58 +00:00
vdimir
23a85d3406
Perserve constness in ExpressionActionsChain::JoinStep 2022-05-20 11:31:58 +00:00
avogar
5d19150906 Try to improve short circuit functions processing 2022-05-20 10:47:28 +00:00
Robert Schulze
72a331189e
Fix glitch 2022-04-19 14:59:47 +02:00
Robert Schulze
118e94523c
Activate clang-tidy warning "readability-container-contains"
This check suggests replacing <Container>.count() by
<Container>.contains() which is more speaking and in case of
multimaps/multisets also faster.
2022-04-18 23:53:11 +02:00
Maksim Kita
b1a956c5f1 clang-tidy check performance-move-const-arg fix 2022-03-02 18:15:27 +00:00
avogar
08c009ab50 Fix possible error 'Cannot convert column Function to mask' 2022-02-08 18:23:43 +03:00
Maksim Kita
5ef83deaa6 Update sort to pdqsort 2022-01-30 19:49:48 +00:00
vdimir
46187a73ee wip 2021-09-28 14:11:31 +03:00
Ilya Golshtein
3766d47f31 ORs in JOINs 2021-09-28 14:11:28 +03:00
Anton Popov
1c80a95b36 slightly better code near reading of subcolumns 2021-09-18 22:34:54 +03:00
vdimir
c4ffc2879f
Perform join type inference for USING at ExpressionAnalyzer instead of TreeRewriter 2021-09-01 15:05:47 +03:00
Nikolai Kochetov
3e44ef437e
Merge pull request #26639 from ClickHouse/fix-bad-cast
Fix bad cast
2021-08-19 11:17:26 +03:00
Pavel Kruglov
7c98fc11b9 Fix performance, make only one setting 2021-08-16 14:30:56 +03:00
Pavel Kruglov
36bea6abb4 Add setting optimize_short_circuit_function_evaluation 2021-08-13 14:48:32 +03:00
Pavel Kruglov
fc59c98676 Clean up 2021-08-13 11:18:34 +03:00
mergify[bot]
80eaea1c51
Merge branch 'master' into short-circuit 2021-08-12 08:38:45 +00:00
Pavel Kruglov
eac2dc52a1 Fix style 2021-08-12 11:31:28 +03:00
Pavel Kruglov
320b3c474c Remove extra include 2021-08-11 19:07:59 +03:00
Pavel Kruglov
bba67a8b87 Remove extra line 2021-08-11 18:59:13 +03:00
Pavel Kruglov
95d52b9e5f Refactor 2.0 2021-08-11 18:56:03 +03:00
Alexey Milovidov
c590a239d5 Merge branch 'master' into fix-bad-cast 2021-08-11 05:48:37 +03:00
Pavel Kruglov
b841a96c39 Refactor code 2021-08-10 14:31:15 +03:00
Pavel Kruglov
70b51133c1 Try to simplify code 2021-08-09 18:01:08 +03:00
Pavel Kruglov
9fd4d14521 Fix style, build, add test 2021-08-09 17:57:50 +03:00
Pavel Kruglov
76b3ae4301 Fix tests 2021-08-09 17:57:49 +03:00
Pavel Kruglov
3ec2ab6156 Avoid using expand, fix bugs, add tests and comments 2021-08-09 17:54:49 +03:00
Pavel Kruglov
62d4f4b25c Small refactoring and adding comments 2021-08-09 17:54:14 +03:00
Pavel Kruglov
0662df8b76 Fix performance with JIT, add arguments to function isSuitableForShortCircuitArgumentsExecution 2021-08-09 17:54:14 +03:00
Pavel Kruglov
cdbe4951f4 Add some optimizations and fixes 2021-08-09 17:50:09 +03:00
Pavel Kruglov
74a8b14ca4 Fix tests 2021-08-09 17:44:39 +03:00
Pavel Kruglov
b6061e132a Small fixes 2021-08-09 17:44:39 +03:00
Pavel Kruglov
400cad4d8b Refactor, fix bugs, improve performance 2021-08-09 17:44:04 +03:00
Pavel Kruglov
bd415b17d2 Fix bug 2021-08-09 17:43:10 +03:00
Pavel Kruglov
ae8df9c1c5 Add reverse parameter to filter, fix tests, reduce coping 2021-08-09 17:43:10 +03:00
Pavel Kruglov
775d190fb3 Fix tests 2021-08-09 17:43:10 +03:00
Pavel Kruglov
50d4192126 Implement short circuit function evaluation, first attempt 2021-08-09 17:43:10 +03:00
Nikolai Kochetov
40e9f9d88e Fix spellign. 2021-08-09 16:47:30 +03:00
Nikolai Kochetov
57e5407fd8 Fix test from fuzzer. 2021-08-09 15:19:28 +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
Alexey Milovidov
d848e5495c Better implementation 2021-07-12 09:36:46 +03:00
Alexey Milovidov
ff5c433f10 Check for non-deterministic functions in keys, including constant expressions 2021-07-12 08:58:19 +03:00