Commit Graph

361 Commits

Author SHA1 Message Date
Amos Bird
7674bc986e
Disable projection when there is JOIN or SAMPLE 2022-02-06 16:46:09 +08:00
Dmitry Novik
9ae9048184 Fix crash in GROUPING SETS 2022-01-14 13:18:05 +00:00
Dmitry Novik
b27af90202 Fix removing constant columns 2022-01-11 11:26:13 +00:00
Dmitry Novik
1095814bbf Cleanup code 2022-01-11 11:26:13 +00:00
fanzhou
6c6d3015de 1. refactor ExpressionAnalyzer
2. Update formatAST to support grouping sets query with distributed table
3. modify astExpression to support function in grouping sets
2022-01-11 11:26:12 +00:00
fanzhou
83e9e5d0e5 some changes 2022-01-11 11:26:12 +00:00
fanzhou
912338629e grouping sets support multiple group 2022-01-11 11:26:11 +00:00
MaxTheHuman
c7c2093bd9 grouping sets: make simple aggregation with grouping sets to work 2022-01-11 11:26:11 +00:00
MaxTheHuman
e22cbb7cd8 grouping sets dev: fix errors, something works 2022-01-11 11:26:11 +00:00
MaxTheHuman
e6bd807f60 grouping sets development 2022-01-11 11:26:10 +00:00
MaxTheHuman
390c8126a4 development 2022-01-11 11:26:10 +00:00
MaxTheHuman
3195d600c5 feat grouping-sets: initial changes 2022-01-11 11:26:10 +00:00
alexey-milovidov
0a55fa3dc2
Revert "Grouping sets dev" 2021-12-25 20:30:31 +03:00
Kseniia Sumarokova
5ae2f0028f
Merge pull request #32961 from kssenii/fix-positional-args
Fix for positional args
2021-12-22 09:41:55 +03:00
kssenii
de70a57700 Better 2021-12-21 21:48:25 +03:00
kssenii
175ad8a989 Fix 2021-12-21 00:20:08 +03:00
Maksim Kita
51477adf1b Updated additional cases 2021-12-20 15:55:07 +03:00
kssenii
965e2bfb21 Fix 2021-12-20 08:43:07 +03:00
alexey-milovidov
6b97af4c63
Merge pull request #26869 from taylor12805/grouping-sets-dev
Grouping sets dev
2021-12-17 20:50:15 +03:00
Dmitry Novik
0f3e2bb32f Fix removing constant columns 2021-12-16 15:39:25 +03:00
Dmitry Novik
56a3f4a000 Cleanup code 2021-12-14 22:15:14 +03:00
fanzhou
b94f8878ff 1. refactor ExpressionAnalyzer
2. Update formatAST to support grouping sets query with distributed table
3. modify astExpression to support function in grouping sets
2021-11-30 14:58:55 +03:00
fanzhou
43db4594ba some changes 2021-11-29 19:35:33 +03:00
fanzhou
2912344896 grouping sets support multiple group 2021-11-29 18:32:55 +03:00
Kseniia Sumarokova
8f0fc225b1
Update ExpressionAnalyzer.cpp 2021-11-29 18:07:11 +03:00
MaxTheHuman
4f07ec2659 grouping sets: make simple aggregation with grouping sets to work 2021-11-26 22:59:56 +03:00
MaxTheHuman
e32d58a36d grouping sets dev: fix errors, something works 2021-11-26 22:46:15 +03:00
MaxTheHuman
ddd1799743 grouping sets development 2021-11-26 22:11:34 +03:00
MaxTheHuman
3418de337a development 2021-11-26 20:37:51 +03:00
MaxTheHuman
2bd07ef338 feat grouping-sets: initial changes 2021-11-26 20:24:35 +03:00
kssenii
038bdcf9b9 Fix 2021-11-24 23:56:36 +03:00
Azat Khuzhin
fbf98bea0b Fix "Column is not under aggregate function and not in GROUP BY" with PREWHERE
In 21.7 the function column type is unknown:

  (lldb) p tmp_actions_dag->dumpDAG()
  (std::string) $14 = "0 : INPUT () (no column) Int32 key\n1 : COLUMN () Const(UInt8) UInt8 1\n2 : FUNCTION (0) (no column) UInt8 ignore(key) [ignore]\n3 : FUNCTION (1, 2) (no column) UInt8 or(1, ignore(key)) [or]\nIndex: 0 1 2 3\n"
                                                                                                                                                                            ^^^^^^^^^^^

While in 21.8+ it is const:

  (lldb) p tmp_actions_dag->dumpDAG()
  (std::string) $22 = "0 : INPUT () (no column) Int32 key\n1 : COLUMN () Const(UInt8) UInt8 1\n2 : FUNCTION (0) (no column) UInt8 ignore(key) [ignore]\n3 : FUNCTION (1, 2) Const(UInt8) UInt8 or(1, ignore(key)) [or]\nIndex: 0 1 2 3\n"
                                                                                                                                                                            ^^^^^

This is after getRootActions() in SelectQueryExpressionAnalyzer::appendPrewhere()

v1: fix for SELECT only, but breaks virtual columns
v2: hacky fix, that also touches MergeTree code
v3: allow_remove_inputs=false
v4: allow_constant_folding=false instead
2021-10-26 22:57:48 +03:00
Anton Popov
76cb191865
Merge pull request #30433 from kssenii/fix-positional
More full support of positional arguments
2021-10-24 21:48:17 +03:00
Kseniia Sumarokova
05150f151c
Update ExpressionAnalyzer.cpp 2021-10-23 12:19:40 +03:00
kssenii
a1a2e276ae Review fixes 2021-10-22 12:26:28 +00:00
kssenii
bc4c2f2366 Fix clang-tidy 2021-10-20 23:40:21 +00:00
Amos Bird
240895fba7
Fix projections with JOIN alias columns 2021-10-20 21:30:15 +08:00
kssenii
6c990400d1 Better positional args 2021-10-20 07:52:39 +00:00
Nikolai Kochetov
c668696047
Merge pull request #30171 from ClickHouse/remove-stream-interfaces
Remove stream interfaces
2021-10-16 09:34:01 +03:00
Nikolai Kochetov
ab28c6c855 Remove BlockInputStream interfaces. 2021-10-14 13:25:43 +03:00
Raúl Marín
0ee5c0bff5 Use RWLock in StorageJoin to avoid deadlocks 2021-09-29 19:30:07 +02:00
Kruglov Pavel
14be2f31f5
Merge pull request #29475 from ClickHouse/fix-29010
Remove filter column from HAVING when it is not needed.
2021-09-29 13:03:27 +03:00
Nikolai Kochetov
1a4ee1f77f Remove filter column from HAVING when it is not needed. 2021-09-28 13:01:47 +03:00
Nikolai Kochetov
0e267c50b4 Merge branch 'master' into rewrite-pushing-to-views 2021-09-14 16:13:54 +03:00
alexey-milovidov
f066edc43c
Merge pull request #28910 from ClickHouse/fix-trash-optimization
Fix bad optimization of ORDER BY in subquery if it contains WITH FILL
2021-09-12 15:27:53 +03:00
alexey-milovidov
ea13a8b562
Merge pull request #28659 from myrrc/improvement/tostring_to_magic_enum
Improving CH type system with concepts
2021-09-12 15:26:29 +03:00
Alexey Milovidov
8935a70f60 Fix another misoptimization 2021-09-12 01:41:37 +03:00
Nikolai Kochetov
f569a3e3f7 Merge branch 'master' into rewrite-pushing-to-views 2021-09-09 20:30:23 +03:00
Nikolai Kochetov
999a4fe831 Fix other tests. 2021-09-08 21:29:38 +03:00
Mike Kot
8e9aacadd1 Initial: replacing hardcoded toString for enums with magic_enum 2021-09-06 16:24:03 +02:00
vdimir
6172cc1676
Fix build, inferJoinKeyCommonType definition 2021-09-01 15:08:58 +03:00
vdimir
df873866c9
Don't store converting actions in TableJoin 2021-09-01 15:05:48 +03:00
vdimir
ed8c156190
Clean up TableJoin storage join 2021-09-01 15:05:47 +03:00
vdimir
c4ffc2879f
Perform join type inference for USING at ExpressionAnalyzer instead of TreeRewriter 2021-09-01 15:05:47 +03:00
vdimir
33ebdb283c
Split ExpressionAnalyzer::analyzeAggregation 2021-09-01 15:05:47 +03:00
vdimir
e8e26463bf
Change signature of ASTSelectQuery::arrayJoinExpressionList 2021-08-31 15:27:44 +03:00
vdimir
3443b3b5c4
Separate functoin buildJoinedPlan, minor refactoring 2021-08-31 15:27:44 +03:00
vdimir
30e112d6a6
Do not convert join key columns for storage/dict join 2021-08-31 15:27:43 +03:00
vdimir
becd288cb9
Try to remove useless applyJoinKeyConvert 2021-08-31 15:18:44 +03:00
Kseniia Sumarokova
38a35c1d9e
Merge pull request #27530 from kssenii/col-identifier-as-col-number
Allow positional arguments for group by, order by, limit by
2021-08-20 21:08:58 +03:00
kssenii
c6f456b241 Fix build 2021-08-20 09:09:46 +00:00
kssenii
ec9323f4bd Fix review comment 2021-08-19 15:55:45 +00:00
kssenii
512d66a088 Fix 2021-08-19 15:19:11 +00:00
Nikolai Kochetov
a46fe11e2c Try fix test_mutations_with_merge_background_task 2021-08-18 13:30:02 +03:00
Kseniia Sumarokova
2da2f07d08
Fix style check 2021-08-11 10:35:12 +03:00
kssenii
503a5edc59 Fix 2021-08-10 14:01:59 +00:00
kssenii
554231c6fc Support positional arguments for GROUP BY, ORDER BY, LIMIT BY 2021-08-10 13:38:42 +00:00
Alexey Milovidov
42342fc0d6 Merge branch 'fix-bad-cast' of github.com:yandex/ClickHouse into fix-bad-cast 2021-08-08 04:00:56 +03:00
mergify[bot]
589505e76b
Merge branch 'master' into legacy-tuple-name 2021-08-07 16:42:20 +00:00
Alexander Kuzmenkov
4bc652699f
Merge pull request #27184 from ClickHouse/aku/window-functions
mark window functions as ready for general use
2021-08-05 14:18:28 +03:00
Alexander Kuzmenkov
0730e685b0 Mark window functions ready for general use. 2021-08-04 17:45:32 +03:00
Anton Popov
699a3d9031 implement legacy_column_name_of_tuple_literal in less intrusive way 2021-08-03 21:03:24 +03:00
Amos Bird
479d4fa991
Add shardNum() and shardCount() functions 2021-07-31 15:45:39 +08:00
Amos Bird
9bdd9c912e
update as suggested 2021-07-30 20:19:39 +08:00
Amos Bird
7b9e81742f
Shard level constness 2021-07-30 18:53:34 +08:00
vdimir
a0ed37e04e
Ignore constness in ExpressionActionsChain::JoinStep
Fix 01064_pm_all_join_const_and_nullable with bad cast check
2021-07-28 16:35:02 +03:00
alexey-milovidov
b52411a715
Merge pull request #12455 from amosbird/npc
Nullable primary key with correct KeyCondition
2021-07-18 17:52:20 +03:00
Amos Bird
0558ecdc3f
Aggressive IN index analysis for projections. 2021-07-14 22:56:52 +08:00
vdimir
5d7fc61bd5
Merge branch 'master' into join-materialized-columns 2021-07-08 12:30:00 +03:00
kssenii
e866faa975 Fix 2021-07-04 02:20:36 +03:00
kssenii
02681019f8 Fix 2021-07-03 08:48:42 +00:00
Alexey Milovidov
0e621788c7 Allow constexpr parameters for aggregate functions 2021-07-02 03:53:08 +03:00
Nikolai Kochetov
d5bd2b1fa9
Merge pull request #25719 from ClickHouse/remove-PrewhereDAGInfo
Remove PrewhereDAGInfo.
2021-06-29 18:58:03 +03:00
alexey-milovidov
a11351a473
Merge pull request #25484 from vdimir/issue-19589
Fix assert with non uint8 in prewhere
2021-06-28 00:03:12 +03:00
Nikolai Kochetov
3544b059ce Merge branch 'master' into remove-PrewhereDAGInfo 2021-06-25 17:52:03 +03:00
Nikolai Kochetov
6bc0a628cd Remove PrewhereDAGInfo. 2021-06-25 17:49:28 +03:00
vdimir
2949cd1e6f
Support ALIASed columns in JOIN ON expression 2021-06-25 14:50:02 +03:00
vdimir
241b64d02c
Support ALIASed columns for right joined table 2021-06-24 17:57:21 +03:00
vdimir
af7776554b
Fix space in ExpressionAnalyzer.cpp 2021-06-24 17:16:57 +03:00
vdimir
84e02911cf
Materialized columns for joined table, don't add to asterisk select 2021-06-24 17:14:36 +03:00
vdimir
eb85c5a8e7
Fix assert with non uint8 in prewhere 2021-06-21 15:32:29 +03:00
Amos Bird
f2ed5ef42b
Nullable primary key with correct KeyCondition 2021-06-18 23:04:24 +08:00
Anton Popov
ea9b890618
Merge branch 'master' into add-compatibility-setting 2021-06-16 21:10:56 +03:00
Anton Popov
8bd7cbd925 add compatibility setting for name of columns 2021-06-16 21:10:07 +03:00
Ivan
a7fa4e641c
Merge branch 'master' into ast-table-identifier-2 2021-06-10 16:43:22 +03:00
Alexander Kuzmenkov
c0e6aa97a6
Merge pull request #24734 from ClickHouse/aku/frame-expressions
support expressions in window frame
2021-06-10 00:25:32 +03:00
Ivan
579250168f
Merge branch 'master' into ast-table-identifier-2 2021-06-07 20:30:39 +03:00
Amos Bird
9dfa4c06bd
Try reusing built sets during multi-pass analysis 2021-06-03 22:06:05 +08:00
Ivan Lezhankin
ae38b4a3f1 Merge remote-tracking branch 'upstream/master' into ast-table-identifier-2 2021-06-02 16:07:59 +03:00
Alexander Kuzmenkov
cc5465a2bd remove const_cast that is not needed anymore 2021-06-02 15:22:05 +03:00