Nikolai Kochetov
7a24e72e76
Merge branch 'master' into fix-header-for-scalar-query-with-empty-result
2021-07-19 15:48:44 +03:00
Nikolai Kochetov
96e20e2641
Fix some tests.
2021-07-19 15:35:55 +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
Anton Popov
ffa56bde24
fix usage of index with array columns and ARRAY JOIN
2021-06-21 15:34:05 +03:00
Amos Bird
f2ed5ef42b
Nullable primary key with correct KeyCondition
2021-06-18 23:04:24 +08:00
Kseniia Sumarokova
e08c05cdf5
Merge pull request #25295 from ClickHouse/remove-some-code-from-key-condition
...
Remove some code from KeyCondition.
2021-06-16 10:12:12 +03:00
Nikolai Kochetov
96d98ff020
Add comment
2021-06-15 21:42:26 +03:00
mergify[bot]
7959d92029
Merge branch 'master' into minor-changes-3
2021-06-15 18:07:24 +00:00
Nikolai Kochetov
80a13c489b
Revert back moduloLegacy check for canConstantBeWrappedByFunctions.
2021-06-15 18:21:31 +03:00
Nikolai Kochetov
481b87b37a
Remove some code from keyCondition.
2021-06-15 16:47:37 +03:00
Nikita Mikhaylov
a52bba91b7
Merge pull request #16401 from abyss7/ast-table-identifier-2
...
ASTTableIdentifier part #2 : Introduce ASTTableIdentifier
2021-06-15 13:51:30 +03:00
Alexey Milovidov
447d7bb8cd
Minor changes
2021-06-14 07:13:35 +03:00
Nikolai Kochetov
6197d20c18
Update KeyCondition.cpp
2021-06-08 15:48:14 +03:00
Nikolai Kochetov
c4832fd3c0
Added test.
2021-06-07 21:24:32 +03:00
Nikolai Kochetov
0d2a839ca4
Fix tests.
2021-06-07 16:41:40 +03:00
Nikolai Kochetov
397f6133e0
Refactor canConstantBeWrappedByMonotonicFunctions function.
2021-06-04 20:56:56 +03:00
Nikolai Kochetov
3e5a1cda60
Revert
2021-06-03 17:44:59 +03:00
Nikolai Kochetov
726e22ea1d
Always return false for canConstantBeWrappedByMonotonicFunctions.
2021-06-03 16:26:04 +03:00
Ivan Lezhankin
365e52817b
More fixes due to "in" function arguments being incorrectly checked as ASTIdentifier
2021-06-01 14:20:03 +03:00
kssenii
70469429c1
Fixes
2021-05-24 23:39:56 +00:00
kssenii
1ffaf1d793
Better check
2021-05-23 21:53:32 +00:00
kssenii
fcfec83875
Fix comparisons with modulo key (version 2)
2021-05-21 16:40:47 +00:00
kssenii
30845a383f
Fix comparisons with modulo key
2021-05-21 15:01:41 +00:00
Maksim Kita
947f28d430
IFunction refactoring
2021-05-15 20:33:15 +03:00
Alexey Milovidov
a5a4e64ba7
Fix a few PVS-Studio warnings
2021-04-27 07:22:32 +03:00
alexey-milovidov
186b1128d0
Merge pull request #23310 from amosbird/fixbugindex
...
Don't relax NOT conditions during partition pruning.
2021-04-27 07:13:18 +03:00
alexey-milovidov
cae5260817
Update KeyCondition.cpp
2021-04-24 05:34:35 +03:00
Amos Bird
32c84f77c3
Resurrect indexHint function.
2021-04-20 19:27:23 +08:00
Amos Bird
d5f606c544
Another fix
2021-04-20 14:15:28 +08:00
Amos Bird
aeff06d67d
Don't relax NOT conditions during partition pruning.
2021-04-19 22:15:53 +08:00
Nikolai Kochetov
4d86f51eff
Merge branch 'master' into add-read-from-mt-step
2021-04-19 10:17:21 +03:00
Nikolai Kochetov
8d8e57615c
A little bit better index description.
2021-04-16 12:42:23 +03:00
Nikolai Kochetov
be52b2889a
Better description for key condition.
2021-04-15 20:30:04 +03:00
Alexey Milovidov
97611faad0
Whitespace
2021-04-13 22:06:24 +03:00
alexey-milovidov
46e1da03fb
Update KeyCondition.cpp
2021-04-13 18:47:11 +03:00
Ivan
495c6e03aa
Replace all Context references with std::weak_ptr ( #22297 )
...
* Replace all Context references with std::weak_ptr
* Fix shared context captured by value
* Fix build
* Fix Context with named sessions
* Fix copy context
* Fix gcc build
* Merge with master and fix build
* Fix gcc-9 build
2021-04-11 02:33:54 +03:00
Amos Bird
f00e108410
Fix scalar subquery index analysis
2021-03-16 14:07:30 +08:00
Alexey Milovidov
4bae04d500
Merge branch 'master' into amosbird/fix-18364
2021-01-15 14:37:35 +03:00
alexey-milovidov
4a71971b43
Update KeyCondition.cpp
2021-01-15 14:36:07 +03:00
Amos Bird
44758935df
correct index analysis of WITH aliases
2021-01-10 17:40:47 +08:00
Amos Bird
f93e30bed6
Fix warning
2020-12-31 11:06:15 +08:00
alexey-milovidov
9bc571eacc
Update KeyCondition.cpp
2020-12-30 17:58:43 +03:00
Amos Bird
8b5714b2ac
Fix 2-arg functions with constant in PK analysis
2020-12-23 12:29:29 +08:00
Maksim Kita
18dc118298
Fixed compile issues
2020-12-14 22:12:15 +03:00
Maksim Kita
0464859cfe
Updated usage of different types during IN query
...
1. Added accurateCast function.
2. Use accurateCast in Set during execute.
3. Added accurateCast tests.
4. Updated select_in_different_types tests.
2020-12-14 22:12:15 +03:00
Maksim Kita
f4b8e8ef99
Allow different types inside IN subquery
2020-12-14 22:12:15 +03:00
Ivan
315ff4f0d9
ANTLR4 Grammar for ClickHouse and new parser ( #11298 )
2020-12-04 05:15:44 +03:00
alexey-milovidov
fabceebbce
Merge pull request #17145 from amosbird/cddt
...
Fix unmatched type comparison in KeyCondition
2020-11-29 14:29:35 +03:00
Amos Bird
022ba2b0a9
Fix unmatched type comparison in KeyCondition
2020-11-26 16:15:50 +08:00
Azat Khuzhin
0b47f4a9e9
Fix optimize_trivial_count_query with partition predicate
...
Consider the following example:
CREATE TABLE test(p DateTime, k int) ENGINE MergeTree PARTITION BY toDate(p) ORDER BY k;
INSERT INTO test VALUES ('2020-09-01 00:01:02', 1), ('2020-09-01 20:01:03', 2), ('2020-09-02 00:01:03', 3);
- SELECT count() FROM test WHERE toDate(p) >= '2020-09-01' AND p <= '2020-09-01 00:00:00'
In this case rpn will be (FUNCTION_IN_RANGE, FUNCTION_UNKNOWN (due to strict), FUNCTION_AND)
and for optimize_trivial_count_query we cannot use index if there is at least one FUNCTION_UNKNOWN.
since there is no post processing and return count() based on only the first predicate is wrong.
Before this patch FUNCTION_UNKNOWN was allowed for optimize_trivial_count_query, and the result was wrong.
And two examples above just to show the difference, the behaviour hadn't been changed with this patch:
- SELECT * FROM test WHERE toDate(p) >= '2020-09-01' AND p <= '2020-09-01 00:00:00'
In this case will be (FUNCTION_IN_RANGE, FUNCTION_IN_RANGE (due to non-strict), FUNCTION_AND)
so it will prune everything out and nothing will be read.
- SELECT * FROM test WHERE toDate(p) >= '2020-09-01' AND toUnixTimestamp(p)%5==0
In this case will be (FUNCTION_IN_RANGE, FUNCTION_UNKNOWN, FUNCTION_AND)
and all, two, partitions will be scanned, but due to filtering later none of rows will be matched.
2020-11-25 23:09:17 +03:00