Commit Graph

352 Commits

Author SHA1 Message Date
Dmitry Novik
5b43202015 Merge remote-tracking branch 'origin/master' into group-by-function-elimination 2023-01-12 00:00:49 +00:00
Dmitry Novik
ba3b828ae7 Fix style 2023-01-11 21:07:26 +00:00
Dmitry Novik
98427319e0 Fix style check 2023-01-11 19:54:12 +00:00
Dmitry Novik
7112d4ec83 Improve exception message 2023-01-11 19:21:07 +00:00
Dmitry Novik
93eb0f25e4 Merge remote-tracking branch 'origin/master' into function-node-validation 2023-01-11 19:16:53 +00:00
Dmitry Novik
d17890369e Skip lambdas during validation 2023-01-11 19:09:58 +00:00
Maksim Kita
f1947b94de Fixed tests 2023-01-11 11:10:06 +01:00
Maksim Kita
eac7a07f3f Analyzer AggregateFunctionsArithmeticOperationsPass fix 2023-01-11 10:20:30 +01:00
Maksim Kita
82271d6c4b Analyzer SumIfToCountIfPass crash fix 2023-01-11 10:20:30 +01:00
Maksim Kita
9a46d9bcff
Merge pull request #44508 from kitaisreal/analyzer-duplicate-alias-crash-fix
Analyzer duplicate alias crash fix
2023-01-11 12:14:26 +03:00
李扬
ef11a6c281
Merge branch 'master' into optimize_aggregate_function_withif 2023-01-11 10:40:38 +08:00
Dmitry Novik
6027b8ee4d Remove redundant code 2023-01-10 23:23:07 +00:00
Dmitry Novik
b7fdc10271 Merge remote-tracking branch 'origin/master' into fix-aggregation-planner 2023-01-10 22:24:50 +00:00
Dmitry Novik
b1bd1bae47 Merge remote-tracking branch 'origin/master' into or-like-chain 2023-01-10 19:19:45 +00:00
Dmitry Novik
44a9facdf2 Fix warning 2023-01-10 19:19:13 +00:00
Maksim Kita
a7d5a5d280
Merge pull request #45059 from kitaisreal/analyzer-array-join-crash-fix
Analyzer ARRAY JOIN crash fix
2023-01-10 15:14:24 +03:00
Maksim Kita
c95925a5ab Fixed tests 2023-01-10 11:16:29 +01:00
Maksim Kita
4236bc32ee Analyzer duplicate alias crash fix 2023-01-09 16:38:18 +01:00
Maksim Kita
f96cdc7e47 Analyzer function IN crash fix 2023-01-09 15:35:14 +01:00
Maksim Kita
5809c6a325 Analyzer ARRAY JOIN crash fix 2023-01-09 13:16:10 +01:00
Dmitry Novik
2ed4d3e8e6 Fix build 2023-01-06 19:24:56 +00:00
Dmitry Novik
5f43a79ad6 Merge remote-tracking branch 'origin/master' into or-like-chain 2023-01-06 17:22:56 +00:00
Dmitry Novik
712de132d9 Fix special build 2023-01-04 16:05:05 +00:00
Dmitry Novik
1dd32c8336 Validate function arguments in query tree 2023-01-03 19:39:46 +00:00
Dmitry Novik
15f20cb4e8 Fix column comparison 2023-01-03 18:13:31 +00:00
Dmitry Novik
11fa29d243 Get rid of recursion 2023-01-03 17:59:04 +00:00
Dmitry Novik
0271b176d4 Fix function resolution 2023-01-03 17:07:57 +00:00
Dmitry Novik
a84318af5f
Merge branch 'master' into cleanup-resolved-function 2023-01-03 17:52:29 +01:00
Dmitry Novik
6386e83953 Fixes after review 2023-01-03 16:50:06 +00:00
taiyang-li
eb698ea322 change as request 2023-01-03 11:28:35 +08:00
Dmitry Novik
09d9ac6c8e Simplify code 2023-01-02 19:09:45 +00:00
Dmitry Novik
0a42d698ac Fixes after review 2023-01-02 18:49:29 +00:00
Dmitry Novik
0ecf6164ac Add tests 2023-01-02 18:10:43 +00:00
Dmitry Novik
6e8191367c Fixup 2023-01-02 18:10:43 +00:00
Dmitry Novik
6ae0ffe8d2 Implement optimize_redundant_functions_in_order_by 2023-01-02 18:10:43 +00:00
Dmitry Novik
c90e6640ee Rebase on master 2023-01-02 17:04:33 +00:00
Dmitry Novik
5295cb0e94 Correctrly enable optimize_or_like_chain 2022-12-29 18:49:58 +00:00
Dmitry Novik
a4614903cd Small refactoring 2022-12-29 18:48:42 +00:00
Dmitry Novik
b4cd36b67a Support optimize_or_like_chain in QueryTreePassManager 2022-12-29 18:48:42 +00:00
vdimir
c50e1863d6
Apply aggregate_functions_null_for_empty in QueryAnalysisPass 2022-12-28 18:17:55 +00:00
vdimir
82e664baad
Correct function result type in CustomizeFunctionsPass 2022-12-28 16:19:27 +00:00
Kruglov Pavel
e981b2e78b
Merge pull request #43813 from Avogar/fix-sum-if
Better handling of NULL in aggregate combinators, fix possible segfault/logical error
2022-12-27 16:50:48 +01:00
Dmitry Novik
e481c0bae5 Cleanup code 2022-12-23 18:23:01 +00:00
Dmitry Novik
cff882d506 Merge remote-tracking branch 'origin/master' into refector-function-node 2022-12-22 21:34:29 +00:00
Smita Kulkarni
e3d08d3dad Removed unused ignore_constant from IsEqual for QueryNode comparsion - 42648 Support scalar subqueries cache 2022-12-22 18:52:29 +01:00
Smita Kulkarni
e6ab6bda92 Merge branch 'master' into 42648_Support_scalar_subqueries_cache 2022-12-22 18:38:41 +01:00
Smita Kulkarni
5bcda7d7b9 Removed QueryNodeTable with IgnoreConstant as its no longer needed - 42648 Support scalar subqueries cache 2022-12-22 18:36:27 +01:00
vdimir
3b483e513f
Default value for optional in SortNode::updateTreeHashImpl 2022-12-21 15:04:12 +00:00
Dmitry Novik
a760bbc700 Fix resolve in IfTransformStringsToEnumPass 2022-12-19 16:04:03 +00:00
avogar
3f17d05a30 Merge branch 'master' of github.com:ClickHouse/ClickHouse into fix-sum-if 2022-12-16 14:47:07 +00:00
Smita Kulkarni
bbad5c9e7a Fixed style check for if in evaluateScalarSubqueryIfNeeded - 42648 Support scalar subqueries cache 2022-12-16 08:20:05 +01:00
Dmitry Novik
12be51b416 Fix FunctionNode::getResultType usage 2022-12-15 19:47:35 +00:00
Dmitry Novik
6249786fbb Fix build 2022-12-14 16:22:59 +00:00
Dmitry Novik
1df038e39c Merge remote-tracking branch 'origin/master' into refector-function-node 2022-12-14 14:55:30 +00:00
Smita Kulkarni
62d3ac608a Fixed cache node in evaluateScalarSubqueryIfNeeded - 42648 Support scalar subqueries cache 2022-12-14 14:35:49 +01:00
Smita Kulkarni
51993cb195 Removed unused variable from evaluateScalarSubqueryIfNeeded - 42648 Support scalar subqueries cache 2022-12-14 13:43:14 +01:00
Maksim Kita
19d9e8d064
Merge pull request #43999 from ClickHouse/if-transform-strings-to-enum-pass
Support `optimize_if_transform_strings_to_enum` in new analyzer
2022-12-14 15:39:42 +03:00
Smita Kulkarni
c384f49d19 Fixed style check issues, and removed hit variable from evaluateScalarSubqueryIfNeeded - 42648 Support scalar subqueries cache 2022-12-14 11:57:24 +01:00
Smita Kulkarni
c49c661cdd Merge branch 'master' into 42648_Support_scalar_subqueries_cache 2022-12-14 11:33:10 +01:00
Smita Kulkarni
97024f8ee5 Removed WithAlias option, added option to ignore_constant for QueryTreeNodeTable. Moved cache to QueryAnalysisPass, adjusted test to check with alias - 42648 Support scalar subqueries cache 2022-12-13 16:55:00 +01:00
Dmitry Novik
3d2fccab87
Merge branch 'master' into refector-function-node 2022-12-12 21:36:39 +01:00
Maksim Kita
407f8ae224 Analyzer aggregate function lambda crash fix 2022-12-09 18:26:12 +01:00
Antonio Andelic
048aecf540 Fix tests 2022-12-09 09:11:10 +00:00
Antonio Andelic
37b1441f6d Merge branch 'master' into if-transform-strings-to-enum-pass 2022-12-09 08:05:07 +00:00
Kruglov Pavel
0598ca92a3
Merge pull request #43873 from canhld94/ch_canh_fix_normalize
Fix some incorrect logic in ast level optimization
2022-12-08 12:38:36 +01:00
Antonio Andelic
6121d70fe1 Update tests 2022-12-08 11:12:03 +00:00
Antonio Andelic
a6359f6f6d Review fixes 2022-12-08 09:50:10 +00:00
Antonio Andelic
905e59f640 Add example 2022-12-08 08:45:11 +00:00
Maksim Kita
301267b0a4
Merge pull request #43884 from kitaisreal/analyzer-context-refactoring
Analyzer Context refactoring
2022-12-08 11:29:56 +03:00
Dmitry Novik
c181a60439 Fix FunctionNode::getArgumentTypes() 2022-12-08 00:34:01 +00:00
Dmitry Novik
202218b8a8 Fix isWindowFunction() 2022-12-07 20:09:26 +00:00
Dmitry Novik
1f9bf4d940 Fix FunctionNode::getResultType 2022-12-07 19:23:29 +00:00
Dmitry Novik
25ecb75ca8 Merge remote-tracking branch 'origin/master' into refector-function-node 2022-12-07 18:36:50 +00:00
Antonio Andelic
6d41abf2c7 Fix clang-tidy error 2022-12-07 13:22:01 +00:00
Antonio Andelic
41e8426f27 Small fixes 2022-12-07 11:59:55 +00:00
Antonio Andelic
23c040d359 Finish optimize_if_transform_strings_to_enum 2022-12-07 11:44:46 +00:00
Antonio Andelic
ec17e28a29 Add classes for new pass 2022-12-07 11:44:46 +00:00
Maksim Kita
13d74b4f2f Analyzer Context refactoring 2022-12-06 10:44:38 +01:00
Maksim Kita
cd4dc402dc
Merge pull request #43893 from kitaisreal/analyzer-cte-resolution-fix
Analyzer CTE resolution fix
2022-12-05 19:47:04 +03:00
Dmitry Novik
f2db5cda18 Fix style check 2022-12-05 14:41:37 +00:00
Maksim Kita
e805740710 Fixed code review issues 2022-12-05 10:51:28 +01:00
Dmitry Novik
c3207bfc0d Fix FunctionNode::cloneImpl and add function validation 2022-12-02 19:15:27 +00:00
Dmitry Novik
4b74337188 Avoid dynamic_cast 2022-12-02 19:15:26 +00:00
Dmitry Novik
15b8c48ca9 Cleanup code 2022-12-02 19:15:26 +00:00
Dmitry Novik
48e8aeac01 Clean up code 2022-12-02 19:15:26 +00:00
Dmitry Novik
2c70dbc76a Refactor FunctionNode 2022-12-02 19:15:26 +00:00
Maksim Kita
f1c44d593a Analyzer CTE resolution fix 2022-12-02 18:20:29 +01:00
Duc Canh Le
3b9c590a12 Merge branch 'master' into ch_canh_fix_normalize 2022-12-02 17:59:21 +08:00
Duc Canh Le
518058b92e fix some bad logics in ast level optimization 2022-12-02 17:56:23 +08:00
Kruglov Pavel
ef8781e5ff
Merge branch 'master' into fix-sum-if 2022-12-01 12:49:10 +01:00
Maksim Kita
ec15d52642 FuseFunctionsPass small fix 2022-11-30 20:40:12 +01:00
Maksim Kita
16359d42be
Merge pull request #43793 from kitaisreal/analyzer-constant-node-refactoring
Analyzer ConstantNode refactoring
2022-11-30 20:06:27 +03:00
Maksim Kita
0a30d3da1b
Merge pull request #43768 from kitaisreal/analyzer-compound-expression-crash-fix
Analyzer compound expression crash fix
2022-11-30 18:43:29 +03:00
Nikolay Degterinsky
1a090e9901 Better implementation 2022-11-30 02:23:26 +00:00
Nikolay Degterinsky
72acedfba6 Merge remote-tracking branch 'upstream/master' into better_asterisk_parser 2022-11-29 22:48:12 +00:00
avogar
c0c976b850 Better handling of NULL in aggregate combinators, fix possible segfault/logical error while using 2022-11-29 18:19:00 +00:00
Maksim Kita
a2060fae3f Fixed style check 2022-11-29 12:47:31 +01:00
Maksim Kita
074e5ceb67 Analyzer ConstantNode refactoring 2022-11-29 12:47:31 +01:00
Vladimir C
7b7cfb3a0c
Merge pull request #43217 from ClickHouse/vdimir/fuse-followup-fix 2022-11-29 10:50:10 +01:00
Maksim Kita
e3cab4fb07 Analyzer compound expression crash fix 2022-11-28 22:53:02 +01:00
Vladimir C
db2aad6f59
Apply suggestions from code review
Co-authored-by: Dmitry Novik <n0vik@clickhouse.com>
2022-11-28 15:47:32 +01:00
Maksim Kita
c46a659ad9
Merge pull request #43543 from kitaisreal/analyzer-sum-if-to-count-if-fix
Analyzer SumIfToCountIfPass fix
2022-11-25 21:02:20 +03:00
Nikolai Kochetov
8d3ccf1c52
Merge pull request #43636 from ClickHouse/fix-43478
Fix #43478
2022-11-25 14:49:41 +01:00
Maksim Kita
fbb404a4c6
Merge pull request #43547 from kitaisreal/analyzer-uniq-injective-functions-elimination-pass-fix
Analyzer UniqInjectiveFunctionsEliminationPass
2022-11-25 13:14:33 +03:00
Smita Kulkarni
60ec65eb21 Fixed style check issues - Support scalar subqueries cache 2022-11-25 07:35:10 +01:00
Smita Kulkarni
aa35df7098 Support scalar subqueries cache
Implementation:
* Added a map with hash of the node (without alias) and the evaluated value to Context.
Testing:
* Added a test-case with new analyser in 02174_cte_scalar_cache.sql
2022-11-24 21:44:26 +01:00
Nikolai Kochetov
bb98a7b433 Fix #43478 2022-11-24 17:28:01 +00:00
vdimir
6241ed65e5
Fixes for FuseFunctionsPass 2022-11-23 15:32:02 +00:00
vdimir
5791d8d0af
FuseFunctionsPass: do not add same node into mapping twice 2022-11-23 15:30:27 +00:00
Maksim Kita
ee9a18f0d9 Analyzer table functions untuple fix 2022-11-23 16:03:06 +01:00
Maksim Kita
0bc3ff1ba3 Analyzer UniqInjectiveFunctionsEliminationPass 2022-11-23 14:55:34 +01:00
Maksim Kita
d2d44c5e54 Analyzer SumIfToCountIfPass fix 2022-11-23 14:55:12 +01:00
Maksim Kita
43a451d55e
Merge pull request #43321 from kitaisreal/analyzer-small-fixes
Analyzer small fixes
2022-11-23 13:19:32 +03:00
Maksim Kita
1e1492e480 Fixed build 2022-11-22 14:35:44 +01:00
Maksim Kita
04f597c29c Fixed style check 2022-11-22 11:14:55 +01:00
Maksim Kita
0fe17c2c7b Fixed code review issues 2022-11-22 11:14:55 +01:00
Maksim Kita
cdc2fb0b59 Analyzer small fixes 2022-11-22 11:14:55 +01:00
taofengliu
a529943d9f Merge remote-tracking branch 'upstream/master' into group_by_all 2022-11-19 21:11:23 +08:00
Dmitry Novik
40adaeef92 Fix aggregate functions optimization 2022-11-18 16:15:37 +00:00
Vitaly Baranov
a348332eab
Merge pull request #43227 from vitlibar/improve-masking-sensitive-info
Improve masking sensitive info
2022-11-18 15:37:50 +01:00
Vladimir C
2d265523bb
Update src/Analyzer/Passes/QueryAnalysisPass.cpp 2022-11-16 12:45:54 +01:00
Vladimir C
981e6e2c24
Update src/Analyzer/Passes/QueryAnalysisPass.cpp 2022-11-16 12:44:54 +01:00
Alexey Milovidov
1ec21e5890
Merge branch 'master' into group_by_all 2022-11-16 06:14:04 +01:00
Vitaly Baranov
8d72f75556 Make the password wiping an option of IAST::format(). 2022-11-16 01:35:06 +01:00
Dmitry Novik
a7ea30179e Optimize keys of GROUPING SETS 2022-11-15 16:56:45 +00:00
Dmitry Novik
b2eca5c703 Support optimize_group_by_function_keys on top of QueryTree 2022-11-15 16:42:21 +00:00
vdimir
d7c882951f
Fix nullptr dereference in collectScopeValidIdentifiersForTypoCorrection 2022-11-15 12:36:28 +00:00
Maksim Kita
a7f0a2255f Analyzer aggregation crash fix 2022-11-11 10:51:49 +01:00
Maksim Kita
057cef469d Fixed comments 2022-11-10 19:21:51 +01:00
Maksim Kita
9398b96dde Fixed style check 2022-11-10 19:21:51 +01:00
Maksim Kita
8adc4c8163 Updated tests 2022-11-10 19:21:51 +01:00
Maksim Kita
7fb3f8f7c5 Updated tests 2022-11-10 19:21:51 +01:00
Maksim Kita
a6d2069c2b Added compound types typo corrections 2022-11-10 19:21:51 +01:00
Maksim Kita
66683dd175 Added function typo corrections 2022-11-10 19:21:51 +01:00
Maksim Kita
c627251f9e Added tests 2022-11-10 19:21:51 +01:00
Maksim Kita
e220906c9e Analyzer added identifier typo corrections 2022-11-10 19:21:51 +01:00
Maksim Kita
8c333817e8
Merge pull request #42689 from ClickHouse/vdimir/identifier-resolver-fuse-sum
Support optimize_syntax_fuse_functions for sum/count/avg via analyzer
2022-11-10 13:05:12 +03:00
Maksim Kita
ba8e7fde3f
Merge pull request #43048 from kitaisreal/analyzer-array-join-with-join-improvements
Analyzer improve ARRAY JOIN with JOIN
2022-11-10 12:42:16 +03:00
Maksim Kita
5a8c62ee01 Analyzer improve aliases support for table expressions 2022-11-09 18:09:24 +01:00
vdimir
6ec2074d8a
Fix check for count arguments number in FuseFunctionsPass 2022-11-09 14:25:43 +00:00
vdimir
5f5fbcee0c
Style fixes for FuseFunctionsPass 2022-11-09 11:48:02 +00:00
vdimir
d6da9f53f2
quantiles function in FuseFunctionsPass 2022-11-09 11:47:59 +00:00
vdimir
f732c97cf6
fixes for FuseFunctionsPass 2022-11-09 11:47:46 +00:00
vdimir
5de29257e6
Restore 02244_issue_35598_fuse 2022-11-09 11:47:46 +00:00
vdimir
14e8daf078
revert removing fuse_sum_count ast optimization 2022-11-09 11:47:43 +00:00
vdimir
7daf5200f0
better code in FuseFunctionsPass.cpp 2022-11-09 11:47:17 +00:00
vdimir
97e7c505ad
Support optimize_syntax_fuse_functions for sum/count/avg via analyzer 2022-11-09 11:47:15 +00:00
Maksim Kita
e0f1fd93f3 Updated tests 2022-11-08 18:25:13 +01:00
Maksim Kita
4defe90d89
Merge pull request #42879 from ClickHouse/query-validation
Validate Query Tree in debug
2022-11-08 16:31:09 +03:00
Maksim Kita
583c65d377 Analyzer subquery in JOIN TREE with aggregation 2022-11-08 14:29:17 +01:00