Commit Graph

296 Commits

Author SHA1 Message Date
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