Commit Graph

1040 Commits

Author SHA1 Message Date
Maksim Kita
d3b604de5a FunctionToSubcolumnsPass mapContains map argument result type fix 2023-02-16 12:17:02 +01:00
Maksim Kita
5b7fb9c458 Analyzer support enable_global_with_statement setting 2023-02-16 12:17:02 +01:00
Maksim Kita
d703c65dbd Analyzer lambda resolve unknown identifier crash fix 2023-02-16 12:17:02 +01:00
Maksim Kita
480619af63 Analyzer ARRAY JOIN disable alias validation for subquery or table function 2023-02-16 12:17:02 +01:00
Maksim Kita
b9cb067153 Analyzer table function arguments resolution fix 2023-02-16 12:17:02 +01:00
Maksim Kita
86ee97aed5 AggregateFunctionsArithmeticOperationsPass disable optimization if both arguments are non constant 2023-02-16 12:17:02 +01:00
Maksim Kita
301d9e22c2 Analyzer change countDistinct function implementation using count_distinct_implementation setting 2023-02-16 12:17:02 +01:00
Maksim Kita
75cbb0e0d0 Analyzer scalar subqueries execution fix 2023-02-16 12:17:02 +01:00
Maksim Kita
fa0ef340b6 Analyzer IN function invalid arguments size error fix 2023-02-16 12:17:02 +01:00
Maksim Kita
45f45b290c Analyzer recursive SQL user defined functions fix 2023-02-16 12:17:02 +01:00
Maksim Kita
9b7710ba40 Analyzer count function handling with unqualified matcher fix 2023-02-16 12:17:02 +01:00
Maksim Kita
c7c5e29ff7 Analyzer resolve identifier as table expression crash fix 2023-02-16 12:17:02 +01:00
Maksim Kita
7ffee1dafe QueryTreePassManager disable validation for aggregate functions with LowCardinality arguments 2023-02-16 12:17:02 +01:00
Maksim Kita
945ce7ca63 Planner support indexHint function 2023-02-16 12:17:02 +01:00
Maksim Kita
2aef331846 Analyzer JOIN disable USING for non identifier nodes 2023-02-16 12:17:02 +01:00
Maksim Kita
03f14f7c50 Analyzer fix MutationsInterpreter 2023-02-16 12:17:02 +01:00
Maksim Kita
77fee97705 MergeTreeIndexFullText fix prepared set index analysis 2023-02-16 12:17:02 +01:00
Dmitry Novik
0e5975c50d
Merge branch 'master' into analyzer-group-by-use-nulls 2023-02-15 17:01:30 +01:00
Alexey Milovidov
77f60311da
Merge branch 'master' into add_select_final_mt_setting 2023-02-15 15:35:37 +03:00
Nikolay Degterinsky
eb3a7f55b9 Fix parameterized queries with REPLACE transformer 2023-02-14 22:02:54 +00:00
Dmitry Novik
1fce8e4eed Fix alias resolve with group_by_use_nulls 2023-02-13 18:35:34 +00:00
taiyang-li
14dd696e95 fix build error 2023-02-09 21:47:05 +08:00
taiyang-li
19ca0ec4af add passes for rewriting arrayexists 2023-02-09 16:30:53 +08:00
Vladimir C
247d6c1edd
Merge pull request #44730 from bigo-sg/optimize_aggregate_function_withif 2023-02-08 15:26:47 +01:00
Anton Popov
f0b0eacbad
Merge pull request #45992 from CurtizJ/fix-type-object-analyzer
Fix basic functionality with type `Object` and new analyzer
2023-02-08 14:25:17 +01:00
Kruglov Pavel
8bdb1c3453
Merge pull request #44728 from bigo-sg/improve_count_if
Improve count if rewrite
2023-02-08 12:21:29 +01:00
Anton Popov
a394f9c92a check is storage supports subcolumns 2023-02-03 17:05:57 +00:00
Anton Popov
08b618205d fix basic functionality with type Object and new analyzer 2023-02-03 01:52:07 +00:00
Arthur Passos
75e3faed85 remove unnecessary comment 2023-02-02 17:32:07 -03:00
Arthur Passos
2de89f62e2 make function static 2023-02-02 17:30:09 -03:00
Arthur Passos
74298f111e Implement AutoFinalQueryOnPass to enable it on Analyzer as well 2023-02-02 17:25:04 -03:00
Dmitry Novik
d589864828 Cleanup code 2023-02-01 18:12:13 +00:00
Dmitry Novik
eee7df8149 WIP on group_by_use_nulls 2023-02-01 13:33:32 +00:00
taofengliu
95ebfbe0c7 bug fix 2023-01-31 18:34:17 +08:00
taiyang-li
a728dd71ac update comments 2023-01-30 15:10:43 +08:00
taiyang-li
29e01c3792 fix bug 2023-01-30 15:06:01 +08:00
taiyang-li
7f30f91f0b fix bug 2023-01-30 14:32:23 +08:00
taiyang-li
6810107105 fix style 2023-01-30 10:03:29 +08:00
taiyang-li
aa3d67e2d6 fix bugs 2023-01-29 20:48:46 +08:00
taiyang-li
fa6dea8b6b remove useless code 2023-01-29 19:50:30 +08:00
taiyang-li
eeef2dae77 fix cores 2023-01-29 19:48:46 +08:00
taiyang-li
952058e69e fix core 2023-01-29 15:42:42 +08:00
taiyang-li
7f3114d806 merge master and solve conflicts 2023-01-29 09:59:16 +08:00
Alexander Tokmakov
c366806c3e
Merge pull request #45527 from ClickHouse/exception_message_patterns4
Better formatting for exception messages 2
2023-01-27 15:31:52 +03:00
Alexander Tokmakov
067b1f5f13 Merge branch 'master' into exception_message_patterns4 2023-01-26 15:20:58 +01:00
Maksim Kita
a19346b59a OptimizeGroupByFunctionKeysPass style fixes 2023-01-26 12:48:12 +01:00
Maksim Kita
32129ca7dc Fixed build 2023-01-26 12:47:50 +01:00
Maksim Kita
6d3a5241e8 QueryTreePassManager refactor passes to use QueryNode, UnionNode scope context 2023-01-26 12:47:50 +01:00
Maksim Kita
8e6593f367 Fixed code review issues 2023-01-26 12:46:58 +01:00
Maksim Kita
b538fae749 Analyzer SETTINGS push down 2023-01-26 12:46:58 +01:00
Maksim Kita
7a8a8dcd2f
Merge pull request #45415 from ClickHouse/redundant-group-by-keys
Remove redundant group by keys with constants
2023-01-26 14:45:25 +03:00
Alexander Tokmakov
3744fa2c63 format more messages 2023-01-25 21:16:42 +01:00
Dmitry Novik
f71c213aff
Merge branch 'master' into column-source-check 2023-01-25 12:53:36 +01:00
Alexander Tokmakov
bb4c8e169f check number of parameters in format string 2023-01-23 23:16:16 +01: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
Dmitry Novik
796b362e2d Make ColumnNode::isEqualImpl more strict 2023-01-23 17:33:57 +00:00
Maksim Kita
e6ee5554d1 Fixed tests 2023-01-20 11:15:13 +01:00
Maksim Kita
3363f7c718 Added GroupingFunctionsResolvePass 2023-01-19 19:06:02 +01:00
Dmitry Novik
fff9fd4f00 Remove redundant group by keys with constants 2023-01-18 17:44:06 +00:00
Dmitry Novik
11701d0ff5 Resolve OR function after modification 2023-01-18 17:17:16 +00:00
Dmitry Novik
df26f4fc37
Revert "Revert "Support optimize_or_like_chain in QueryTreePassManager"" 2023-01-18 18:14:03 +01:00
Anton Popov
5df0f91857
Revert "Support optimize_or_like_chain in QueryTreePassManager" 2023-01-18 17:34:19 +01:00
Maksim Kita
cabcc761ed
Merge pull request #45357 from kitaisreal/analyzer-compound-identifier-typo-correction-fix
Analyzer compound identifier typo correction fix
2023-01-18 17:59:32 +03:00
Maksim Kita
3a550691c9
Merge pull request #42797 from ClickHouse/or-like-chain
Support optimize_or_like_chain in QueryTreePassManager
2023-01-18 13:09:33 +03:00
Maksim Kita
21b94813ad Fixed code review issues 2023-01-18 11:02:29 +01:00
Dmitry Novik
3b0ac7272c Update reference files 2023-01-18 00:30:30 +00:00
Dmitry Novik
752aed696a Merge remote-tracking branch 'origin/master' into group-by-function-elimination 2023-01-17 23:33:33 +00:00
Maksim Kita
4f7f2ed9e1
Merge pull request #45300 from ClickHouse/revert-45299-revert-44882-function-node-validation
Revert "Revert "Validate function arguments in query tree""
2023-01-17 21:51:26 +03:00
Maksim Kita
d758d83937 Analyzer compound identifier typo correction fix 2023-01-17 14:29:48 +01:00
Maksim Kita
d6a36b1d16 Fixed code review issues 2023-01-17 12:02:50 +01:00
Maksim Kita
af716ca25d Fixed tests 2023-01-17 11:20:24 +01:00
Maksim Kita
250c93614c Revert "Revert "Validate function arguments in query tree"" 2023-01-17 11:20:24 +01:00
SmitaRKulkarni
bb4f251448
Merge branch 'master' into 42648_Support_scalar_subqueries_cache 2023-01-17 08:10:25 +01:00
Dmitry Novik
104e55bc22 Merge remote-tracking branch 'origin/master' into or-like-chain 2023-01-16 18:56:22 +00:00
Dmitry Novik
aa2a19eaa4 Use proper map for QueryTreeNode 2023-01-16 18:43:22 +00:00
Dmitry Novik
0aecc9ad80 Updates after the review 2023-01-16 17:43:36 +00:00
Maksim Kita
cd2d794c99
Merge branch 'master' into 42648_Support_scalar_subqueries_cache 2023-01-16 13:49:43 +03:00
Maksim Kita
8f5250e000
Revert "Validate function arguments in query tree" 2023-01-16 10:14:34 +01:00
Maksim Kita
60d2a0bf7f
Merge pull request #44882 from ClickHouse/function-node-validation
Validate function arguments in query tree
2023-01-16 11:31:02 +03:00
Dmitry Novik
3d23654720 Skip validation of function IN 2023-01-13 23:10:16 +00:00
Nikolay Degterinsky
36c20bf293 Merge remote-tracking branch 'upstream/master' into better_asterisk_parser 2023-01-13 19:15:55 +00:00
Smita Kulkarni
d132d30707 Addressed review comments - 42648 Support scalar subqueries cache 2023-01-13 17:28:35 +01:00
Maksim Kita
dc24d831cf
Merge pull request #42970 from ClickHouse/optimize-redundant-function
Implement optimize_redundant_functions_in_order_by on top of QueryTree.
2023-01-13 17:36:56 +03:00
Maksim Kita
05b1b78104
Merge pull request #44013 from kitaisreal/analyzer-aggregate-functions-passes-small-fixes
Analyzer aggregate functions passes small fixes
2023-01-13 17:31:53 +03:00
Maksim Kita
296dc5006d Fixed tests 2023-01-13 10:59:26 +01:00
Maksim Kita
47f4159909 Analyzer support distributed queries processing 2023-01-12 12:07:58 +01:00
Maksim Kita
2f0eabab54 Fixed tests 2023-01-12 11:30:55 +01:00
Dmitry Novik
5fb1f9db19 Reformat code 2023-01-12 00:29:56 +00:00
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
Maksim Kita
3b3e27f22a Analyzer improve ARRAY JOIN with JOIN 2022-11-08 14:25:23 +01:00
Dmitry Novik
8fa5cae01a Fix style check 2022-11-07 14:11:02 +00:00
taofengliu
ac385ff29a remove unneeded code 2022-11-05 22:20:53 +08:00
Nikolay Degterinsky
c6ea55403e Merge remote-tracking branch 'upstream/master' into better_asterisk_parser 2022-11-04 22:37:59 +00:00
Dmitry Novik
a860b25249 Improve ValidationChecker readability 2022-11-02 15:24:09 +00:00
taofengliu
7a38115e81 fix fuzzer bug 2022-11-02 21:09:35 +08:00
Nikolay Degterinsky
88d815c63e Improve Asterisk and ColumnMatcher parser 2022-11-02 06:21:02 +00:00
Dmitry Novik
e06572cc27 Validate Query Tree in debug 2022-11-01 23:03:07 +00:00
taofengliu
c43dd96f14 Merge remote-tracking branch 'upstream/master' into group_by_all
# Conflicts:
#	src/Analyzer/QueryNode.h
2022-11-01 22:53:44 +08:00
Maksim Kita
27a72f096c
Merge pull request #42705 from kitaisreal/analyzer-small-improvements
Analyzer improve subqueries representation
2022-11-01 13:54:12 +03:00
taofengliu
d0767cab1d GROUP BY ALL in Analyzer 2022-11-01 16:18:56 +08:00
Maksim Kita
d760c78754 Fixed code review issues 2022-10-31 11:45:12 +01:00
Maksim Kita
275d076cb7 Fixed style check 2022-10-27 11:26:53 +02:00
Maksim Kita
5fcbc26800 OrderByLimitByDuplicateEliminationPass improve performance 2022-10-27 11:23:30 +02:00
Maksim Kita
6a0e3fc31d Subqueries remove unnecessary table expression modifiers 2022-10-26 17:19:29 +02:00
Maksim Kita
2b44a00fbc UNION node remove unnecessary union modes 2022-10-26 16:47:40 +02:00
Maksim Kita
a28d1f01fd Analyzer IQueryTreeNode remove getName method 2022-10-25 12:54:17 +02:00
Maksim Kita
d0e64eb15b Fixed tests 2022-10-24 16:14:05 +02:00
Maksim Kita
9a02d25c0b Fixed tests 2022-10-24 10:22:38 +02:00
Maksim Kita
3862dd96fe Fixed tests 2022-10-24 10:22:38 +02:00
Maksim Kita
d083200d65 Fixed code review issues 2022-10-24 10:22:38 +02:00
Maksim Kita
561d585100 Fixed tests 2022-10-24 10:22:38 +02:00
Maksim Kita
39b2d25a43 Added tests 2022-10-24 10:22:38 +02:00
Maksim Kita
90048ce75d Fixed code review issues 2022-10-24 10:22:38 +02:00
Maksim Kita
dbc0870eb5 Fixed tests 2022-10-24 10:22:38 +02:00
Maksim Kita
1410befbe1 Added AggregateFunctionsArithmeticOperationsPass 2022-10-24 10:22:38 +02:00
Maksim Kita
144b33c75d Fixed tests 2022-10-24 10:22:38 +02:00
Maksim Kita
852dd8c2bb Updated UnionNode documentation 2022-10-24 10:22:37 +02:00
Maksim Kita
8610feb06d Added UniqInjectiveFunctionsEliminationPass 2022-10-24 10:22:37 +02:00
Maksim Kita
fe3eda4c2b Added SumIfToCountIfPass 2022-10-24 10:22:37 +02:00
Maksim Kita
43ec5c830c Added FunctionToSubcolumnsPass 2022-10-24 10:22:37 +02:00
Maksim Kita
b50e2ce470 Added SETTINGS support 2022-10-24 10:22:37 +02:00
Maksim Kita
5a0298ea34 Fixed tests 2022-10-24 10:22:37 +02:00
Maksim Kita
da85af7e44 Added OrderByLimitByDuplicateEliminationPass 2022-10-24 10:22:37 +02:00
Maksim Kita
7851dfc324 Fixed tests 2022-10-24 10:22:37 +02:00
Maksim Kita
eba9607696 Analyzer move passes into separate folder 2022-10-24 10:22:37 +02:00
Maksim Kita
3a22e37691 Fix normalization of UNION inside DESCRIBE query 2022-10-24 10:22:37 +02:00
Maksim Kita
77ea9a11cd Fixed code review issues 2022-10-24 10:22:21 +02:00
Maksim Kita
6ec5474466 Updated IQueryTreeNode interface with weak pointers array 2022-10-24 10:22:21 +02:00
Maksim Kita
2f282eeec9 Updated InDepthQueryTreeVisitor implementation 2022-10-24 10:22:21 +02:00
Maksim Kita
49a129008b Fixed code review issues 2022-10-24 10:22:21 +02:00
Maksim Kita
239f1855aa Updated projection names implementation 2022-10-24 10:22:21 +02:00
Maksim Kita
048e776c48 Fixed tests 2022-10-24 10:22:21 +02:00
Maksim Kita
400de59a37 Fixed style check 2022-10-24 10:22:21 +02:00
Maksim Kita
86896b76c5 Fix GROUP BY validation for subqueries 2022-10-24 10:22:21 +02:00
Maksim Kita
0892f485bb Fix lambda tests 2022-10-24 10:22:21 +02:00
Maksim Kita
f2d801be2c Added CustomizeFunctionsPass 2022-10-24 10:22:21 +02:00
Maksim Kita
b1471bdedf Added CountDistinctPass 2022-10-24 10:22:21 +02:00
Maksim Kita
2aff015d29 Added NormalizeCountVariantsPass 2022-10-24 10:22:21 +02:00
Maksim Kita
54e2b6d28a Added EXISTS support 2022-10-24 10:22:21 +02:00
Maksim Kita
f5ee7e0bee Added IfChainToMultiIfPass 2022-10-24 10:22:21 +02:00
Maksim Kita
7c96c0afbd Added OrderByTupleEliminationPass 2022-10-24 10:22:21 +02:00
Maksim Kita
11324aa4b4 Added IfConstantConditionPass 2022-10-24 10:22:21 +02:00
Maksim Kita
3d5b209861 Added support for dictGet, joinGet functions to handle identifier as first argument 2022-10-24 10:22:21 +02:00
Maksim Kita
7f26bcc275 Added unqualified matcher support for JOIN with USING 2022-10-24 10:22:21 +02:00
Maksim Kita
b7d0fd6bae Added validation for subqueries and table functions in JOINs 2022-10-24 10:22:21 +02:00
Maksim Kita
d62bd792ac Added positional arguments support 2022-10-24 10:22:21 +02:00
Maksim Kita
a0d9251f3a Added ASOF join support 2022-10-24 10:22:21 +02:00
Maksim Kita
c7d51ca83d Rename InterpolateColumnNode into InterpolateNode 2022-10-24 10:22:20 +02:00
Maksim Kita
2b2a70082e Rename SortColumnNode into SortNode 2022-10-24 10:22:20 +02:00
Maksim Kita
fe84e871f8 Fixed build 2022-10-24 10:22:20 +02:00
Maksim Kita
8cadb1b318 Added WINDOW functions support 2022-10-24 10:22:20 +02:00
Maksim Kita
85ac02c9db Planner improve action names 2022-10-24 10:22:20 +02:00
Maksim Kita
890d9678b9 Fixed tests 2022-10-24 10:22:20 +02:00
Maksim Kita
4f68305dbe Fixed tests 2022-10-24 10:22:20 +02:00
Maksim Kita
ca93ee7479 Fixed tests 2022-10-24 10:22:20 +02:00
Maksim Kita
1844673aa8 Updated tests 2022-10-24 10:22:20 +02:00
Maksim Kita
fed146e198 Added SAMPLE BY support. Added SAMPLE BY, FINAL support for JOINS. 2022-10-24 10:22:20 +02:00
Maksim Kita
64c60718f8 Updated SORT COLUMN with fill 2022-10-24 10:22:20 +02:00
Maksim Kita
4110460bcd Added LIMIT BY support 2022-10-24 10:22:20 +02:00
Maksim Kita
81e4c67f17 Added INTERPOLATE support 2022-10-24 10:22:20 +02:00
Maksim Kita
504cb2b38f Added GROUPING function support 2022-10-24 10:22:20 +02:00
Maksim Kita
a5ce4d7823 Added GROUPING SETS support 2022-10-24 10:22:20 +02:00
Maksim Kita
63e48bd869 Added GROUP BY CUBE, ROLLUP, TOTALS support 2022-10-24 10:22:20 +02:00
Maksim Kita
80b77f4ccc Added HAVING support 2022-10-24 10:22:20 +02:00
Maksim Kita
c087eff470 Perform GROUP BY and aggregates validation during analysis stage 2022-10-24 10:22:20 +02:00
Maksim Kita
ea44b4be5e Added subquery_depth support 2022-10-24 10:22:20 +02:00
Maksim Kita
2b571004f3 Added support for projection names 2022-10-24 10:22:19 +02:00
Maksim Kita
efc2433347 Added IN function Set table support 2022-10-24 10:22:19 +02:00
Maksim Kita
1cbf96d165 Added LIMIT, OFFSET support 2022-10-24 10:22:19 +02:00
Maksim Kita
6aa166f366 Added ORDER BY support 2022-10-24 10:22:19 +02:00
Maksim Kita
03864790ad Added DISTINCT support 2022-10-24 10:22:19 +02:00
Maksim Kita
5c6d175028 Added GROUP BY support 2022-10-24 10:22:19 +02:00
Maksim Kita
2995fb7944 Added support for building sets for IN function 2022-10-24 10:22:19 +02:00
Maksim Kita
44ada63a97 Added Planner 2022-10-24 10:22:19 +02:00
Maksim Kita
85193ede42 Added UNION support 2022-10-24 10:22:19 +02:00
Maksim Kita
0da0019634 Added ARRAY JOIN support 2022-10-24 10:22:19 +02:00
Maksim Kita
89e5b09e7f Updated JOIN tests 2022-10-24 10:22:19 +02:00
Maksim Kita
b32092f24a JOIN support join_use_nulls, USING 2022-10-24 10:22:19 +02:00
Maksim Kita
40cb904a3d Added support for JOIN, ARRAY JOIN 2022-10-24 10:22:19 +02:00
Maksim Kita
1717d16fa4 Improved lambda matcher support 2022-10-24 10:22:19 +02:00
Maksim Kita
062e17052f Added support for IN function 2022-10-24 10:22:19 +02:00
Maksim Kita
a9e1f74696 Added support for grouping function 2022-10-24 10:22:19 +02:00
Maksim Kita
635bd44413 Added support for table functions 2022-10-24 10:22:18 +02:00
Maksim Kita
569fb36097 Added support for table ALIAS columns 2022-10-24 10:22:18 +02:00
Maksim Kita
603c4febc3 Update explain query tree representation 2022-10-24 10:22:18 +02:00
Maksim Kita
dd28b58864 Added support for subqueries 2022-10-24 10:22:18 +02:00
Maksim Kita
6a5276e45e Updated tests 2022-10-24 10:22:18 +02:00
Maksim Kita
2d61c45f94 Added support for multiple expressions with same alias 2022-10-24 10:22:18 +02:00
Maksim Kita
d835f70fdc Added support for STRICT column transformers 2022-10-24 10:22:18 +02:00
Maksim Kita
9d4c508b39 Added lambda tests 2022-10-24 10:22:18 +02:00
Maksim Kita
75885ce2e1 Added Analyzer 2022-10-24 10:22:18 +02:00