Igor Nikonov
d8acb0e7ad
Tiny improvements along the code
...
- less allocations (potentially)
2022-09-13 12:06:56 +00:00
Anton Popov
2a3e012931
Merge branch 'master' into fix-read-in-order-fixed-prefix
2022-08-29 13:17:26 +02:00
Igor Nikonov
d83bea626c
Merge remote-tracking branch 'origin/master' into skipping_sorting_step
2022-08-13 21:46:34 +00:00
Alexey Milovidov
201cf69854
Merge pull request #39470 from nicelulu/issues_39469
...
Fix issues 39469
2022-08-13 03:13:28 +03:00
Igor Nikonov
75f6fcfa70
Merge remote-tracking branch 'origin/master' into skipping_sorting_step
2022-08-11 12:35:55 +00:00
Amos Bird
fa8fab2e8f
Fix KeyCondition with other filters
2022-08-11 19:20:44 +08:00
zhangxiao871
8bae5f24af
Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into yandex-master
2022-08-09 15:49:03 +08:00
Vladimir C
a627b00c43
Merge branch 'master' into refactor-prepared-sets
2022-08-04 13:27:38 +02:00
Igor Nikonov
4bf42ce867
Merge remote-tracking branch 'origin/master' into skipping_sorting_step
2022-08-02 10:50:25 +00:00
Igor Nikonov
fb5799fe7f
More generic getInputOrderInfo() in query info
2022-07-29 14:36:36 +00:00
vdimir
5ce2960f03
Get rid of SelectQueryInfoBase -> SelectQueryInfo
2022-07-26 18:39:09 +00:00
vdimir
1e3fa2e01f
Refactor PreparedSets/SubqueryForSet
2022-07-26 18:39:02 +00:00
Azat Khuzhin
22d8e532ed
Fix ORDER BY that matches projections ORDER BY
...
In case of projection is seleted and it is comlete (all parts has such
projection) and ORDER BY matches projection ORDER BY, and
optimize_read_in_order=1 (default), then the sorting is simply not done,
because projections has separate plan, and so
InterpreterSelectQuery::executeOrder() -> SortingStep has
pipeline.getNumStreams() == 0 and it cannot do sorting.
Fix this, by adding sorting when creating plan for reading from
projections.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-24 15:23:13 +03:00
zhangxiao871
5549b64c06
Fix issues 39469
2022-07-21 23:52:33 +08:00
Anton Popov
8b356f0e1b
better tests and comments
2022-07-04 15:06:43 +00:00
Anton Popov
ef87e1207c
better support of read_in_order in case of fixed prefix of sorting key
2022-07-01 16:45:01 +00:00
Nikolai Kochetov
543782436d
Process additional filters.
2022-06-21 11:24:46 +00:00
Nikolai Kochetov
8991f39412
Merge branch 'master' into refactor-read-metrics-and-callbacks
2022-06-02 17:00:08 +00:00
Nikolai Kochetov
147a819221
Refactor a little bit more.
2022-05-31 14:43:38 +00:00
Alexander Gololobov
e2dd6f6249
Removed prewhere_info.alias_actions
2022-05-30 19:58:23 +02:00
Amos Bird
1238babb6f
Make SelectQueryInfo pseudo-copyable
2022-04-07 17:46:50 +08:00
Amos Bird
9cf5935604
Fix broken SET reuse during projection analysis.
2022-04-07 17:46:49 +08:00
Amos Bird
1ab773cc90
Fix aggregation_in_order with normal projection
2022-02-06 16:46:12 +08:00
Anton Popov
9b844c6b42
Merge pull request #32748 from CurtizJ/read-in-order-fixed-prefix
...
Support `optimize_read_in_order` if prefix of sorting key is already sorted
2022-02-03 18:17:08 +03:00
hexiaoting
5c847264f7
Fix bug for select from VIEW with format and limit settings
2022-01-11 20:19:41 +08:00
Anton Popov
1f67177d4d
fix optimize_read_in_order with preliminary merge and add some tests
2021-12-23 18:32:31 +03:00
Amos Bird
211c3d4d49
Better Projection IN
2021-10-29 20:24:36 +08:00
Amos Bird
2f615e9176
Use original_query for projection analysis
2021-10-20 21:30:15 +08:00
Amos Bird
b68857d086
Simplify projection, add minmax_count projection.
2021-08-28 11:25:37 +08:00
Amos Bird
0169fce78e
Projection bug fixes and refactoring.
2021-08-26 19:09:31 +08:00
Amos Bird
b162a2b699
Improve projection analysis.
...
Remove duplicate index analysis and avoid possible invalid limit checks
during projection analysis.
2021-08-16 20:11:57 +08:00
Anton Popov
cb042afa9d
pushdown limit while reading in order of primary key
2021-07-13 17:24:45 +03:00
alexey-milovidov
4b1e38eed9
Merge branch 'master' into projection-fix11
2021-07-13 04:52:15 +03:00
Anton Popov
9f1ffa777f
remove unused code
2021-07-08 15:06:33 +03:00
Amos Bird
55981cb0ae
Fix normal projection
2021-07-07 13:01:30 +08:00
Nikolai Kochetov
6bc0a628cd
Remove PrewhereDAGInfo.
2021-06-25 17:49:28 +03:00
Nikolai Kochetov
cbdf3752ef
Part 3.
2021-05-27 16:40:33 +03:00
Alexey Milovidov
d32819f068
Mark false positives for PVS-Studio
2021-05-24 06:59:12 +03:00
Alexander Kuzmenkov
e9b69bbd70
Merge pull request #23906 from azat/fix-distributed_group_by_no_merge
...
distributed_group_by_no_merge fixes
2021-05-19 16:16:08 +03:00
Amos Bird
ddd4256a15
More fixes
2021-05-11 18:12:28 +08:00
Amos Bird
718c284437
Fix more tests
2021-05-11 18:12:28 +08:00
Amos Bird
ba17acbd63
Fix tests
2021-05-11 18:12:28 +08:00
Amos Bird
42f161b1dc
Fix more
2021-05-11 18:12:28 +08:00
Amos Bird
9c069ebdbf
support prewhere, row_filter, read_in_order and decent projection selection
...
TODO set index analysis in projection
2021-05-11 18:12:27 +08:00
Amos Bird
35961c0c5d
Use ActionsDAG to rewrite projection queries
2021-05-11 18:12:27 +08:00
Amos Bird
ebaf42a448
Reformat and fix some tests
2021-05-11 18:12:27 +08:00
Nikolai Kochetov
3296c9292f
Try to merge projectons faster.
2021-05-11 18:12:26 +08:00
Amos Bird
cd6414639e
add metadata_snapshot to getQueryProcessingStage
2021-05-11 18:12:26 +08:00
Amos Bird
264cff6415
Projections
...
TODO (suggested by Nikolai)
1. Build query plan fro current query (inside storage::read) up to WithMergableState
2. Check, that plan is simple enough: Aggregating - Expression - Filter - ReadFromStorage (or simplier)
3. Check, that filter is the same as filter in projection, and also expression calculates the same aggregation keys as in projection
4. Return WithMergableState if projection applies
3 will be easier to do with ActionsDAG, cause it sees all functions, and dependencies are direct (but it is possible with ExpressionActions also)
Also need to figure out how prewhere works for projections, and
row_filter_policies.
wip
2021-05-11 18:12:23 +08:00
Azat Khuzhin
eefd67fce5
Disable optimize_distributed_group_by_sharding_key with window functions
2021-05-06 00:44:22 +03:00