Commit Graph

707 Commits

Author SHA1 Message Date
JackyWoo
c4ae83bddc Merge branch 'master' into optimize_uniq_to_count2 2023-09-25 10:23:30 +08:00
JackyWoo
332cb47af8 compare function name in lower case 2023-09-25 10:22:56 +08:00
Alexey Milovidov
06415c7a53
Merge pull request #52082 from JackyWoo/rewrite_move_functions_out_of_any 2023-09-23 22:22:45 +03:00
Alexey Milovidov
cf080677bf
Simplify code 2023-09-23 22:22:27 +03:00
JackyWoo
307015bc48 Merge branch 'master' into rewrite_move_functions_out_of_any 2023-09-21 11:11:03 +08:00
avogar
3e08800cb5 Forbid special columns for file/s3/url/... storages, fix insert into ephemeral columns from files 2023-09-20 16:25:55 +00:00
VanDarkholme7
783b48b730
Merge branch 'ClickHouse:master' into missing_subcolumns 2023-09-19 10:33:06 +08:00
JackyWoo
231d16040b Merge branch 'master' into optimize_uniq_to_count2 2023-09-19 10:29:03 +08:00
VanDarkholme7
349b868a62 Replace missed Object(Nullable(json)) subcolumns with new analyzer 2023-09-19 09:57:18 +08:00
Kruglov Pavel
3aaaf7600c
Merge pull request #54655 from Avogar/fix-use-structure-from-insertion-table
Fix using structure from insertion tables in case of defaults and explicit insert columns
2023-09-18 18:54:28 +02:00
Robert Schulze
f5e8028bb1
Merge pull request #54642 from rschu1ze/broken-re2st
Remove broken lockless variant of re2
2023-09-17 15:30:57 +02:00
avogar
b9c28ef1f7 Fix for analyzer 2023-09-14 20:10:07 +00:00
avogar
93c49dfeaa Fix using structure from insertion tables in case of defaults and explicit insert columns 2023-09-14 19:31:12 +00:00
Robert Schulze
7b378dbad3
Remove broken lockless variant of re2 2023-09-14 16:40:42 +00:00
JackyWoo
70a262a775 Add optimization uniq to count 2023-09-13 16:16:11 +08:00
Alexey Milovidov
bd4aec0601
Revert "Optimize uniq to count" 2023-09-13 09:14:06 +03:00
avogar
2d8f33bfa2 Fix parsing error in WithNames formats while reading subset of columns with disabled input_format_with_names_use_header 2023-09-11 14:55:37 +00:00
Nikolai Kochetov
903c966cc8
Merge branch 'master' into planner-prepare-filters-for-analysis-2 2023-09-11 16:14:03 +02:00
Dmitry Novik
99d0f3586f Merge remote-tracking branch 'origin/master' into analyzer-execution-names 2023-09-01 17:33:33 +00:00
Dmitry Novik
2a0d883c8b Fix crash 2023-09-01 17:33:09 +00:00
Dmitry Novik
ae88180556 Fix index generation 2023-08-28 17:11:53 +00:00
Dmitry Novik
0a78dc4c57 Use scopes for table aliases creation 2023-08-28 16:44:25 +00:00
JackyWoo
a963048e1a Merge branch 'master' into optimize_uniq_to_count 2023-08-28 11:10:05 +08:00
Dmitry Novik
cfeba3f02e Add a comment 2023-08-25 18:01:25 +00:00
Dmitry Novik
ab7b6fcdae Update tests and revert change for ARRAY JOIN 2023-08-24 22:32:40 +02:00
Robert Schulze
bdd16a388c
Bump boost to 1.82 2023-08-24 17:54:13 +00:00
Nikolai Kochetov
fc90a1a0bd Fix some skip_unused_shards tests. 2023-08-24 11:07:17 +00:00
Dmitry Novik
aec0f3ede3 Do not add pointless aliases to ARRAY JOIN 2023-08-23 16:05:03 +00:00
flynn
d071ee7001 Merge branch 'master' of github.com:ClickHouse/ClickHouse into scalar 2023-08-23 06:25:42 +00:00
Dmitry Novik
7f916c7069 Fix table aliases for the queries sent to the shards 2023-08-22 17:14:24 +00:00
Dmitry Novik
7e510d9602 Analyzer: always qualify execution names 2023-08-22 16:24:41 +00:00
flynn
102526a21e fix for analyzer 2023-08-12 08:58:43 +00:00
ltrk2
a2054c04dd
Merge branch 'master' into feature/mergetree-checksum-big-endian-support 2023-08-10 10:21:34 -04:00
ltrk2
139e9433a8
Merge branch 'master' into feature/mergetree-checksum-big-endian-support 2023-08-09 09:48:00 -04:00
Alexey Milovidov
aa757490bd Ditch tons of garbage 2023-08-09 02:19:02 +02:00
vdimir
3131358f79
Merge pull request #48754 from ClickHouse/vdimir/decimal_in_precision_analyzer 2023-08-08 16:56:32 +02:00
vdimir
8050edaff6
style convertFieldToTypeStrict 2023-08-04 09:45:13 +00:00
vdimir
0032eb9ab7
Fix IN with decimal in analyzer 2023-08-04 09:45:08 +00:00
JackyWoo
1aac8bf129 fix tests 2023-08-03 11:46:26 +08:00
ltrk2
27a2d4d1c7
Merge branch 'master' into feature/mergetree-checksum-big-endian-support 2023-08-02 11:36:43 -04:00
Dmitry Novik
e369f0da7c Resolve expressions from WITH clause on usage 2023-08-02 17:31:47 +02:00
JackyWoo
66c0f0cb3f
Merge branch 'master' into rewrite_move_functions_out_of_any 2023-08-02 18:37:18 +08:00
JackyWoo
1c930f34de reduce performance time 2023-08-02 18:10:01 +08:00
JackyWoo
93b28903cb
Merge branch 'master' into optimize_uniq_to_count 2023-08-02 10:13:22 +08:00
Han Fei
4e849a8aba fix ci for #52091 2023-08-01 16:44:13 +02:00
Han Fei
b25847e998
Merge pull request #52091 from ZhiguoZh/20230713-analyzer-preimage
Add a pass in Analyzer for time filter optimization with preimage
2023-08-01 15:06:46 +02:00
ltrk2
e869adf645 Improve function naming 2023-07-31 06:48:50 -07:00
Dmitry Novik
4f3ae8ae05
Merge branch 'master' into analyzer-array-join-columns 2023-07-31 15:21:50 +02:00
ltrk2
6c9a1b14ef
Merge branch 'master' into feature/mergetree-checksum-big-endian-support 2023-07-28 16:18:46 -04:00
Dmitry Novik
e882adbc2b Merge remote-tracking branch 'origin/master' into query-tree-visitor 2023-07-28 14:22:42 +00:00
Dmitry Novik
7cb853bcd8 Fix TableFunctionNode::cloneImpl 2023-07-28 14:22:12 +00:00
robot-clickhouse
bba9a2cd28
Merge pull request #51961 from nickitat/exec_udf_allow_parameters
Don't throw exception when exec udf has parameters
2023-07-28 11:52:17 +02:00
Dmitry Novik
18c1fd6f08 Refactor InDepthQueryTreeVisitorWithContext 2023-07-27 21:24:39 +00:00
Dmitry Novik
9e1e005bcf Merge remote-tracking branch 'origin/master' into query-tree-visitor 2023-07-27 16:44:08 +00:00
Dmitry Novik
03f025ddd1 Fix typo 2023-07-27 16:38:02 +00:00
JackyWoo
98a30d635c remove rewritten 2023-07-27 17:47:01 +08:00
JackyWoo
4cd6737caf little optimization 2023-07-27 17:47:01 +08:00
JackyWoo
f1044386dd fix style 2023-07-27 17:47:01 +08:00
JackyWoo
7ae0c3425f fix test error 2023-07-27 17:47:01 +08:00
JackyWoo
cbd4358bac fix special build error 2023-07-27 17:47:01 +08:00
JackyWoo
a2dce9663e skip rewriting for lambda and arrayJoin 2023-07-27 17:47:01 +08:00
JackyWoo
eb6c1cb549 add tests 2023-07-27 17:47:01 +08:00
JackyWoo
f8b4bbcd23 fix style 2023-07-27 17:47:01 +08:00
JackyWoo
46eda82cdc new analyzer: move functions out of any 2023-07-27 17:47:01 +08:00
JackyWoo
95c41f49e0 not change projection columns 2023-07-27 15:41:16 +08:00
JackyWoo
8faecdb7ac support alias for new analyzer
(cherry picked from commit 08409059cc)
2023-07-27 15:41:16 +08:00
JackyWoo
0c11a9b2a2 ignore alias for UniqToCountPass
(cherry picked from commit cd1111b17b)
2023-07-27 15:40:59 +08:00
JackyWoo
fccd6e2abf rewrite uniq to count in new analyzer
(cherry picked from commit 8004f37e97)
2023-07-27 15:40:59 +08:00
Dmitry Novik
9ea479a1a1 Analyzer: Support ARRAY JOIN COLUMNS(...) syntax 2023-07-26 13:37:33 +00:00
Yarik Briukhovetskyi
11016d4c5f
Revert "Rewrite uniq to count" 2023-07-25 16:46:50 +02:00
Nikita Taranov
94fa2f18b1 fix analyzer 2023-07-24 15:16:56 +02:00
Zhiguo Zhou
9ff409f16e Enforce type check for function arguments in preimage optimization
Date/Date32/DateTime/DateTime64 columns are required for arguments
of time converters, such as toYear and toYYYYMM.
2023-07-24 21:00:58 +08:00
Zhiguo Zhou
b88fc4277a Add a pass in Analyzer for time filter optimization with preimage
The preimage has been identified as the general solution to the
optimization of predicates with time converters (#15257). PR #50951
implemented this solution via the AST rewrite.

As a follow-up, this commit extends the optimization to the experi-
mental analyzer by replacing the sub-QueryTree of the time filter
with its preimage-transformed one. The optimization is implemented
as a new pass in the Analyzer.
2023-07-24 13:48:48 +08:00
ltrk2
b8a959da89 Correct a finding from clang-tidy 2023-07-19 10:01:58 -07:00
ltrk2
ba4072f049 Adapt changes around SipHash 2023-07-19 10:01:58 -07:00
ltrk2
51e2c58a53 Implement endianness-independent SipHash and MergeTree checksum serialization 2023-07-19 10:01:55 -07:00
JackyWoo
08409059cc support alias for new analyzer 2023-07-19 18:46:20 +08:00
JackyWoo
71c12bbdc4
Merge branch 'master' into rewrite_uniq_to_count 2023-07-19 15:54:23 +08:00
Kruglov Pavel
2793305a71
Merge pull request #51825 from ucasfl/schema
Fix use_structure_from_insertion_table_in_table_functions does not work with materialized and alias columns
2023-07-17 18:25:54 +02:00
JackyWoo
cd1111b17b ignore alias for UniqToCountPass 2023-07-11 10:45:08 +08:00
JackyWoo
8004f37e97 rewrite uniq to count in new analyzer 2023-07-10 17:16:41 +08:00
Alexey Milovidov
f4696d762c Revert "Merge pull request #49419 from ClickHouse/fix-function-parameter-exception"
This reverts commit b921476a3b, reversing
changes made to 7896d30737.
2023-07-08 00:56:42 +02:00
flynn
c178a362c5 Fix for new analyzer 2023-07-06 02:31:08 +00:00
Nikolai Kochetov
22e49748b5 Cleanup. 2023-06-22 14:23:04 +00:00
Yakov Olkhovskiy
8f0aa8781c replace storage in function 'in' subquery 2023-06-19 02:14:44 +00:00
Yakov Olkhovskiy
3f5682a792 use view_source from context 2023-06-14 21:34:43 +00:00
Yakov Olkhovskiy
b680b1ac1e propagate insertion values storage into subquery 2023-06-11 23:58:49 +00:00
Nikolai Kochetov
6ce8329bda Merge branch 'master' into refactor-subqueries-for-in 2023-06-09 20:04:27 +02:00
Nikolai Kochetov
9a4043a4b4 Fixing more tests. 2023-06-09 17:51:59 +00:00
Dmitry Novik
280e80fcd4
Merge branch 'master' into analyzer-distr-query 2023-06-07 00:32:09 +02:00
Dmitry Novik
c8d85a43c7 Fix unit tests 2023-06-05 12:22:32 +00:00
Dmitry Novik
d9a6e36685 Add comments 2023-06-05 11:02:23 +00:00
robot-ch-test-poll4
b1de1d3ada
Merge pull request #50535 from kitaisreal/query-node-small-fix
QueryNode small fix
2023-06-04 02:20:15 +02:00
Maksim Kita
e61131c4bb QueryNode small fix 2023-06-03 21:45:53 +03:00
Nikolai Kochetov
92859ebb3b Fixing more tests. 2023-06-01 21:15:15 +00:00
Dmitry Novik
480db8622d Always add table name while converting ColumnNode to AST 2023-06-01 15:21:55 +00:00
Dmitry Novik
c6dcb69b85 Fix GLOBAL IN 2023-06-01 14:34:30 +00:00
Dmitry Novik
bc7b7f2cd2 Always add source alias in ColumnNode::toASTImpl 2023-06-01 14:34:30 +00:00
Dmitry Novik
d79bd5694a Fix LambdaNode::cloneImpl 2023-06-01 14:34:30 +00:00
Dmitry Novik
a4cb82127d Analyzer: WIP on distributed queries 2023-06-01 14:34:29 +00:00
vdimir
783b54624b
add comment to join_use_nulls in QueryAnalyzer::resolveMatcher 2023-05-30 16:49:10 +00:00
vdimir
d727893693
Handle function nodes in getColumnSideFromJoinTree 2023-05-30 16:40:40 +00:00
vdimir
12141bb6cd
Check can become nullable before applying join_use_nulls 2023-05-30 16:40:39 +00:00
vdimir
40d658e467
Fix join_use_nulls in analyzer 2023-05-30 16:40:36 +00:00
Nikolai Kochetov
b5b261b22c Merge branch 'master' into refactor-subqueries-for-in 2023-05-25 21:22:06 +02:00
Dmitry Novik
fc10ba871f Analyzer: Do not execute table functions multiple times 2023-05-22 16:36:34 +00:00
Nikolai Kochetov
ff6400f91a Merge branch 'master' into refactor-subqueries-for-in 2023-05-22 13:07:51 +02:00
Dmitry Novik
aea71cf1bb
Merge branch 'master' into group-by-constant-fix 2023-05-19 01:29:56 +02:00
Dmitry Novik
2287dd8633
Merge pull request #49800 from ClickHouse/fix-adding-cast
Analyzer: apply _CAST to constants only once
2023-05-16 17:05:02 +02:00
Dmitry Novik
d2e185d86d Analyzer: do not optimize GROUP BY keys with ROLLUP and CUBE 2023-05-12 14:36:54 +00:00
Dmitry Novik
5fdaef851c Handle constants carefully 2023-05-12 14:14:40 +00:00
Dmitry Novik
0c0ea7bfc0 Analyzer: apply _CAST to constants only once 2023-05-11 23:07:48 +00:00
Dmitry Novik
5c34ee3019 Skip unresolved table function arguments 2023-05-09 15:14:49 +00:00
Dmitry Novik
f0bfdb6b02 Refactor Query Tree visitor 2023-05-09 14:22:23 +00:00
Nikolai Kochetov
618486815b Merge branch 'master' into refactor-subqueries-for-in 2023-05-05 20:39:09 +02:00
Antonio Andelic
1dacd5b526 Merge branch 'master' into fix-cnf-new-analyzer 2023-05-05 07:44:22 +00:00
Nikolai Kochetov
f598a39ea2 Refactor PreparedSets [3] 2023-05-04 17:54:08 +00:00
Antonio Andelic
ae62b227f0 More fixes 2023-05-03 08:30:22 +00:00
Dmitry Novik
3d76c92f30 Throw exception for non-parametric functions in new analyzer 2023-05-02 15:40:19 +00:00
Antonio Andelic
13739cd26b Correctly stop CNF convert for too many atomics 2023-05-02 12:29:15 +00:00
Dmitry Novik
604e3f9112 Fix 02540_duplicate_primary_key2 2023-04-26 13:20:25 +00:00
Dmitry Novik
98202d8c5d Fix 02699_polygons_sym_difference_rollup 2023-04-24 18:00:38 +00:00
Alexander Gololobov
ba5ca15c40
Merge pull request #46835 from ClickHouse/reduce_mem_in_mutation_with_subquery
Reduce memory consumption by mutations with big subqueries used with IN
2023-04-17 23:55:08 +02:00
Robert Schulze
8eabc43068
Merge pull request #48591 from ucasfl/show-table
support show table
2023-04-14 18:42:29 +02:00
Alexander Gololobov
05a9d1cbfc Cleanups 2023-04-14 16:12:18 +02:00
Alexander Gololobov
0b9579bfb8 Reworked, testing 2023-04-14 16:12:18 +02:00
Dmitry Novik
5cc9b46f78 Merge remote-tracking branch 'origin/master' into optimize-compilation 2023-04-13 16:04:09 +02:00
flynn
f87782b6b5 support show table 2023-04-10 06:37:47 +00:00
Yakov Olkhovskiy
8a19ac4e73
Merge branch 'master' into imp-use-structure-from-insertion 2023-04-06 00:51:44 -04:00
Yakov Olkhovskiy
e3457da144 for auto check subset of columns support, fix some minor issues 2023-04-03 16:05:21 +00:00
Dmitry Novik
a06e1f4d59 Fix lambda type resolution 2023-04-03 15:46:32 +00:00
Alexey Milovidov
5ebf66819b
Merge pull request #47617 from ClickHouse/cnf-new-analyzer
CNF/Constraint optimizer in new analyzer
2023-04-02 20:09:34 +03:00
Yakov Olkhovskiy
2f280e247a review suggestions 2023-03-31 21:37:18 +00:00
Yakov Olkhovskiy
79a8bf7375
Merge branch 'master' into imp-use-structure-from-insertion 2023-03-30 09:12:10 -04:00
Antonio Andelic
b22d3e9136 Remove wrong assert 2023-03-30 10:21:48 +00:00
Yakov Olkhovskiy
739c20abdd clang issue, test 2023-03-29 14:05:31 +00:00
Antonio Andelic
611e7c6382 Ignore null constants in logical optimizer 2023-03-29 12:37:43 +00:00
Yakov Olkhovskiy
a03bf8568a implement use_structure_from_insertion_table_in_table_functions=auto 2023-03-28 17:03:35 +00:00
Antonio Andelic
1605afe647 Fix test 2023-03-28 08:12:21 +00:00
Antonio Andelic
86b40a1b79 address PR review 2023-03-27 10:03:40 +00:00
Antonio Andelic
e4a78a982f Merge branch 'master' into cnf-new-analyzer 2023-03-27 07:43:21 +00:00
Yakov Olkhovskiy
a4e2d09001 without schema inference from actual data 2023-03-24 21:58:23 +00:00
Yakov Olkhovskiy
1108a299a6
Merge branch 'master' into imp-use-structure-from-insertion 2023-03-24 16:36:12 -04:00
Maksim Kita
5cb2d30563
Merge pull request #47316 from ClickHouse/vdimir/transform_external_query_analyzer
Support transformQueryForExternalDatabase for analyzer
2023-03-24 17:53:00 +01:00
Yakov Olkhovskiy
83ca006fcb same fix for analyzer 2023-03-24 13:16:54 +00:00
Dmitry Novik
3488a4d84b Improve file includes 2023-03-24 03:44:52 +01:00
vdimir
426f4ec233
Better transformQueryForExternalDatabase for analyzer 2023-03-22 16:58:34 +00:00
Maksim Kita
f45dac99c2 Revert "Revert "Analyzer planner fixes before enable by default"" 2023-03-22 17:19:32 +01:00
Maksim Kita
40b077c22b
Merge pull request #47506 from CurtizJ/get-subcolumn
Better support of identifiers from compound expressions in analyzer
2023-03-22 11:19:25 +03:00
vdimir
a5cca40cf0 Pass ConvertToASTOptions by constref 2023-03-22 08:59:04 +01:00