Commit Graph

275 Commits

Author SHA1 Message Date
Nikolai Kochetov
669a92bae0 Merge branch 'master' into aggregate-projections-analysis-query-plan 2023-03-13 19:55:49 +01:00
Igor Nikonov
c952886e66 Merge remote-tracking branch 'origin/master' into query-plan-update-sort-description 2023-03-08 18:09:37 +00:00
Igor Nikonov
6f2851ef70 Update FilterStep 2023-03-07 22:16:22 +00:00
Dmitry Novik
13f1e5b022 Merge remote-tracking branch 'origin/master' into analyzer-group-by-use-nulls 2023-03-07 16:16:48 +00:00
Salvatore Mesoraca
81b30021db
ActionsDAG: do not change result of and() during optimization - part 2 (#47028) 2023-03-02 20:48:13 +01:00
Dmitry Novik
54680b1a0a Merge remote-tracking branch 'origin/master' into analyzer-group-by-use-nulls 2023-03-01 01:08:17 +00:00
Nikolai Kochetov
3392b96cc3
Merge branch 'master' into aggregate-projections-analysis-query-plan 2023-02-27 14:07:04 +01:00
Alexey Milovidov
3a3a2f352c
Merge pull request #46653 from aiven-sal/aiven-sal/and_opt_pr
ActionsDAG: do not change result of and() during optimization
2023-02-26 02:56:35 +03:00
Salvatore Mesoraca
0e34a4fc4e
ActionsDAG: remove unnecessary condition 2023-02-23 18:35:29 +01:00
Salvatore Mesoraca
c83583e46b
ActionsDAG: do not change result of and() during optimization
Previously `and` results were inconsistent.
Some optimizations can try to simplify and completely remove a
single-argument `and`, replacing it with a cast to UInt8.
This works well for all numeric types except floats.
A float passed to `and` is normally interpreted as `bool` and
values between 0 and 1 are treated as 1.
The same value cast to an integer type will be truncated to 0.
2023-02-21 15:39:44 +01:00
Alexander Gololobov
5354b0d069
Merge pull request #46140 from ClickHouse/split_prewhere_dag
Split PREWHERE DAG into multiple read steps
2023-02-21 14:37:09 +01:00
Nikolai Kochetov
2a8460d962 Merge branch 'master' into aggregate-projections-analysis-query-plan 2023-02-20 13:54:05 +01:00
Alexey Milovidov
17992b178a
Merge pull request #45364 from nickitat/aggr_partitions_independently
Add option to aggregate partitions independently
2023-02-19 17:44:18 +03:00
Maksim Kita
70eb41c6a8 Analyzer add single_join_prefer_left_table setting 2023-02-16 12:17:03 +01:00
Alexander Gololobov
39e4ca9850 Cleanup 2023-02-13 14:40:54 +01:00
Alexander Gololobov
45ef2f6d60 Split prewhere actions into separate conjuctive steps 2023-02-12 21:54:23 +01:00
Nikolai Kochetov
a542626fa3 Make 01710_aggregate_projections work. 2023-02-06 18:42:58 +00:00
Dmitry Novik
eee7df8149 WIP on group_by_use_nulls 2023-02-01 13:33:32 +00:00
Nikita Taranov
3e3d1d15a8 properly handle case when there is nondeterministic functions 2023-01-30 17:11:56 +00:00
Nikolai Kochetov
286a58801e Aggregate Projections analysis using query plan [In progress] 2023-01-27 18:38:14 +00:00
Alexander Tokmakov
70d1adfe4b
Better formatting for exception messages (#45449)
* save format string for NetException

* format exceptions

* format exceptions 2

* format exceptions 3

* format exceptions 4

* format exceptions 5

* format exceptions 6

* fix

* format exceptions 7

* format exceptions 8

* Update MergeTreeIndexGin.cpp

* Update AggregateFunctionMap.cpp

* Update AggregateFunctionMap.cpp

* fix
2023-01-24 00:13:58 +03:00
Alexander Tokmakov
72e8615bec formatting of some exception messages 2023-01-17 20:03:56 +01:00
Maksim Kita
a140d6c5b1 Fixed code review issues 2023-01-12 12:07:58 +01:00
Dmitry Novik
9d44c7a737
Merge pull request #44541 from ClickHouse/cleanup-resolved-function
Followup #43761
2023-01-06 18:09:32 +01:00
Nikolai Kochetov
72eb74dd67 Fix check for not existing input in ActionsDAG 2023-01-06 14:50:28 +00:00
Dmitry Novik
8f21eb543c Fix argument evaluation order 2023-01-04 16:00:47 +00:00
Dmitry Novik
6386e83953 Fixes after review 2023-01-03 16:50:06 +00:00
Dmitry Novik
93cf734b57 Refactor ActionsDAG::addFunction 2022-12-29 15:49:51 +00:00
Dmitry Novik
cff882d506 Merge remote-tracking branch 'origin/master' into refector-function-node 2022-12-22 21:34:29 +00:00
Vladimir C
9a38911d5d
Merge pull request #43239 from bigo-sg/array_join_support_map 2022-12-22 12:18:34 +01:00
Dmitry Novik
4793412887
Merge branch 'master' into refector-function-node 2022-12-20 18:26:19 +01:00
avogar
b7b7579eea Merge branch 'master' of github.com:ClickHouse/ClickHouse into fix-fuzz 2022-12-15 20:33:13 +00:00
vdimir
4c17903010
update getArrayJoinDataType/getArrayJoinColumn 2022-12-14 13:02:03 +00:00
taiyang-li
5c87476d24
fix code style 2022-12-14 11:28:56 +00:00
taiyang-li
f3b72b979c
modify error msg 2022-12-14 11:28:56 +00:00
taiyang-li
26b5a74b0c
finish debug 2022-12-14 11:28:54 +00:00
taiyang-li
2f03146941
wip 2022-12-14 11:28:50 +00:00
Dmitry Novik
2e74a274f2 Fix build 2022-12-13 21:46:16 +00:00
Dmitry Novik
3d2fccab87
Merge branch 'master' into refector-function-node 2022-12-12 21:36:39 +01:00
Maksim Kita
4d39a7d103 Fixed code review issues 2022-12-08 17:30:32 +01:00
Maksim Kita
362a8e541a Fixed style check 2022-12-08 17:30:32 +01:00
Maksim Kita
99de697ea2 Analyzer added indexes support 2022-12-08 17:30:32 +01:00
Dmitry Novik
2c70dbc76a Refactor FunctionNode 2022-12-02 19:15:26 +00:00
avogar
de27f65b85 Fix possible use-of-unitialized value after executing expressions after sorting 2022-11-24 17:27:23 +00:00
Nikolai Kochetov
5106c24e88 Merge branch 'master' into read-in-order-from-query-plan 2022-10-27 18:12:20 +00:00
Nikolai Kochetov
dc03a83ad7 Reimplement read-in-order optimisation on top of query plan. 2022-08-19 17:56:02 +00:00
Alexander Tokmakov
8cbdd39c81
Update ActionsDAG.cpp 2022-08-19 11:34:15 +03:00
Igor Nikonov
51f4716b29 Fix review comments 2022-08-16 14:59:53 +00:00
Igor Nikonov
9566e2995d Fix of check if sorting order is preserved 2022-08-13 21:44:29 +00:00
Igor Nikonov
f33a0d8c85 More simple way to check if sorting order is preserved
- there is a case where it's done wrong
2022-08-12 23:42:37 +00:00
Igor Nikonov
bf037275a5 More robust check if sorting order is changed by expression
+ tests
2022-08-12 14:57:18 +00:00
Igor Nikonov
d9f5c56c41 Fix compilation errors after fixing merge conflicts 2022-08-11 12:51:45 +00:00
Igor Nikonov
75f6fcfa70 Merge remote-tracking branch 'origin/master' into skipping_sorting_step 2022-08-11 12:35:55 +00:00
Igor Nikonov
70b52f7cb9 Fix test, review comments 2022-08-09 16:29:56 +00:00
Igor Nikonov
366ead3828 Consider aliases when checking if sorting order is preserved by
expression
2022-08-09 11:27:17 +00:00
Maksim Kita
c030fd05e7 ActionsDAG rename index to outputs 2022-08-08 18:01:32 +02:00
Igor Nikonov
86c5280db3 Merge remote-tracking branch 'origin/master' into skipping_sorting_step 2022-08-08 12:43:06 +00:00
Igor Nikonov
6572a447fa Check if sorting order is preserved for FilterStep 2022-08-08 12:42:10 +00:00
Igor Nikonov
988ce29e9e Check if expression step violates sorting correctly 2022-08-06 22:37:14 +00:00
Igor Nikonov
f5f6ada69b ActionsDAG check is not dependent on sort description 2022-08-05 11:00:18 +00:00
Igor Nikonov
a70c47f780 EXPLAIN PLAN sortmode options
+ ActionsDAG fixes
2022-08-04 22:02:53 +00:00
Igor Nikonov
0a659f5ab8 Analyze ActionsDAG in ExpressionStep
+ check if sorting order can be kept from prevous step
+ EXPLAIN PLAN header=1 contains Sort Mode and Sort Description for each step
+ some tests
+ fix some review comments
2022-08-04 19:30:25 +00:00
Nikolai Kochetov
658a269d56
Merge branch 'master' into use-dag-in-key-condition 2022-08-04 16:18:40 +02:00
Nikolai Kochetov
77c143aa23 Fix extra column after ARRAY JOIN optimization. 2022-08-01 17:56:27 +00:00
Nikolai Kochetov
b70be40804
Merge branch 'master' into use-dag-in-key-condition 2022-07-25 14:30:22 +02:00
Alexander Tokmakov
a8da5d96fc remove some dead and commented code 2022-07-21 15:05:48 +02:00
Nikolai Kochetov
eaeb30a71a Merge branch 'master' into use-dag-in-key-condition 2022-07-19 18:39:52 +02:00
Nikita Taranov
2487ba7f00
Move updateInputStream to ITransformingStep (#37393) 2022-06-27 13:16:52 +02:00
zhanglistar
ca67e67a74 Fix a typo 2022-05-27 15:52:04 +08:00
Amos Bird
76ddb39d02
refactor format 2022-05-24 12:09:00 +08:00
Robert Schulze
b6d7367538
Merge remote-tracking branch 'origin/master' into erase_if3
Conflicts:
- Interpreters/ActionsDAG.cpp
2022-04-20 10:02:59 +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
Robert Schulze
1e1df8e101
Replace remove-erase idiom by C++20 erase()/erase_if()
- makes the code less verbose while being as efficient
2022-04-17 12:04:47 +02:00
Nickita Taranov
698a984c07 throw if sorting column not found 2022-04-04 14:33:58 +02:00
Nickita Taranov
b095838444 stash 2022-04-04 14:33:57 +02:00
Nickita Taranov
4c51329ad6 stash 2022-04-04 14:33:57 +02:00
Maksim Kita
b1a956c5f1 clang-tidy check performance-move-const-arg fix 2022-03-02 18:15:27 +00:00
vdimir
ee09ec4dd1
Apply join_use_nulls on types before join 2022-02-11 15:56:45 +00:00
Amos Bird
52aabf98fe
Revise and add more comments 2022-02-06 16:53:54 +08:00
Maksim Kita
5ef83deaa6 Update sort to pdqsort 2022-01-30 19:49:48 +00:00
Azat Khuzhin
dd7bffcaf9 ActionsDAG: add allow_constant_folding flag for removeUnusedActions() 2021-10-26 22:56:44 +03:00
Azat Khuzhin
248b689067 ActionsDag: add allow_remove_inputs for other variants of removeUnusedActions() 2021-10-26 22:56:44 +03:00
Nikolai Kochetov
122d39cbba
Fix missing condition in pushed down predicate. (#29625) 2021-10-04 17:50:03 +03:00
Mike Kot
8e9aacadd1 Initial: replacing hardcoded toString for enums with magic_enum 2021-09-06 16:24:03 +02:00
Nikolai Kochetov
98eb619b4b
Merge pull request #23367 from Avogar/short-circuit
Implement short circuit function evaluation
2021-08-17 12:36:07 +03:00
vdimir
db187c6b2d
Fix aliased_column_distributed_bug 2021-08-16 17:26:14 +03:00
mergify[bot]
319e5af6eb
Merge branch 'master' into short-circuit 2021-08-13 13:01:46 +00:00
kssenii
dcc6f597dc Move templates from FunctionsConvertion 2021-08-11 19:09:51 +00:00
kssenii
7555fc19fd Revert "Move some templates"
This reverts commit 7f247becca.
2021-08-11 18:49:25 +00:00
kssenii
7f247becca Move some templates 2021-08-11 07:32:46 +00:00
Pavel Kruglov
b841a96c39 Refactor code 2021-08-10 14:31:15 +03:00
Pavel Kruglov
b6061e132a Small fixes 2021-08-09 17:44:39 +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
kssenii
9ca422f0c5 Introduce CAST for internal usage 2021-08-07 09:03:10 +00:00
Nikolai Kochetov
0ae7195a8c Merge branch 'master' into use-dag-in-key-condition 2021-07-14 12:02:18 +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
Maksim Kita
da8c957167 Aggregator added CompiledExpressionCache 2021-07-01 22:56:36 +03:00
Nikolai Kochetov
21e39e10ea Update KeyCondition constructor 2021-06-22 13:28:56 +03:00