Zhiguo Zhou
d14299eb09
The general optimization of predicates with date/datetime converters
...
As is suggested in issue #15257 , the function preimage is a general
solution to the optimization problem with predicates containing the
date and datetime converters. This commit implements the idea by
adding the new methods, hasInformationAboutPreimage and getPreimage,
to IFunction/IFunctionBase, and having the specific convert functions
define their own preimage. Moreover, we added a new pass in the
TreeOptimizer and a new AST visitor for in-place rewriting the AST
with the converters' preimage.
Specifically, the optimization is applied to toYear and toYYYYMM.
2023-06-15 21:48:02 +08: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
15b8c48ca9
Cleanup code
2022-12-02 19:15:26 +00:00
Dmitry Novik
2c70dbc76a
Refactor FunctionNode
2022-12-02 19:15:26 +00:00
avogar
e98ac04678
Fix bad cast from LowCardinality column when using short circuit function execution
2022-11-16 22:34:24 +00:00
Robert Schulze
db5ef7b3cb
Merge branch 'master' into generated-file-cleanup
2022-10-02 23:13:18 +02:00
Robert Schulze
fd86829824
Consolidate config_core.h into config.h
...
Less duplication, less confusion ...
2022-09-28 13:31:57 +00:00
Anton Popov
4c7a820685
fix order by monotonic functions
2022-09-22 16:21:28 +00:00
Luck-Chang
1ac8e739c9
fix some typos and clang-tidy warnings
2022-09-05 09:50:24 +08:00
avogar
0311dbb422
Add default implementation for Nothing, support arrays of nullable for arrayFilter and similar functions
2022-05-12 15:15:31 +00:00
Maksim Kita
538f8cbaad
Fix clang-tidy warnings in Disks, Formats, Functions folders
2022-03-14 18:17:35 +00:00
Amos Bird
a19224bc9b
Fix partition pruner: non-monotonic function IN
2022-03-09 15:48:42 +08:00
Anton Popov
d50137013c
Merge remote-tracking branch 'upstream/master' into HEAD
2021-11-01 16:55:53 +03:00
Alexey Milovidov
8b4a6a2416
Remove cruft
2021-10-28 02:10:39 +03:00
Anton Popov
7aa6068fb2
Merge remote-tracking branch 'upstream/master' into HEAD
2021-10-14 19:44:08 +03:00
alexey-milovidov
3796ccb912
Merge pull request #29540 from myrrc/improvement/monotonicity-aggregate
...
Making Monotonicity an aggregate to use with designated initializers
2021-09-30 17:26:06 +03:00
Mike Kot
61e0c6208b
Making Monotonicity an aggregate to use with designated initializers
2021-09-29 18:01:26 +02:00
Anton Popov
914781052e
Merge remote-tracking branch 'upstream/master' into HEAD
2021-09-29 17:37:07 +03:00
Amos Bird
b25c3fb659
Handle null column correctly in JSONFunction
2021-09-28 11:38:29 +08:00
Anton Popov
dce55260e0
fix tests
2021-09-20 16:10:41 +03:00
Anton Popov
c3c3a06078
Merge remote-tracking branch 'upstream/master' into HEAD
2021-08-20 01:45:38 +03:00
Pavel Kruglov
70b51133c1
Try to simplify code
2021-08-09 18:01:08 +03:00
Pavel Kruglov
01bd5cc998
Clean up
2021-08-09 17:57:02 +03:00
Pavel Kruglov
3ec2ab6156
Avoid using expand, fix bugs, add tests and comments
2021-08-09 17:54:49 +03:00
Pavel Kruglov
136e58bc8f
Fix style
2021-08-09 17:54:14 +03:00
Pavel Kruglov
62d4f4b25c
Small refactoring and adding comments
2021-08-09 17:54:14 +03:00
Pavel Kruglov
0662df8b76
Fix performance with JIT, add arguments to function isSuitableForShortCircuitArgumentsExecution
2021-08-09 17:54:14 +03:00
Pavel Kruglov
dcc30ed404
Resolve conflicts
2021-08-09 17:50:09 +03:00
Pavel Kruglov
e792fa588f
Mark all Functions as sutable or not for executing as short circuit arguments
2021-08-09 17:50:09 +03:00
Pavel Kruglov
400cad4d8b
Refactor, fix bugs, improve performance
2021-08-09 17:44:04 +03:00
Pavel Kruglov
775d190fb3
Fix tests
2021-08-09 17:43:10 +03:00
Pavel Kruglov
50d4192126
Implement short circuit function evaluation, first attempt
2021-08-09 17:43:10 +03:00
Anton Popov
c4b454494f
Merge remote-tracking branch 'upstream/master' into HEAD
2021-07-20 15:41:01 +03:00
Alexey Milovidov
ff5c433f10
Check for non-deterministic functions in keys, including constant expressions
2021-07-12 08:58:19 +03:00
Alexey Milovidov
e09467fd5a
Merge with #26041
2021-07-10 11:29:54 +03:00
Anton Popov
3e92c7f61a
Merge remote-tracking branch 'upstream/master' into HEAD
2021-05-25 21:45:19 +03:00
Maksim Kita
ef2696bae5
Fixed IFunction then typos
2021-05-24 23:27:32 +03:00
Maksim Kita
7af4d5b86d
Fixed tests
2021-05-24 14:25:02 +03:00
Maksim Kita
af233007f6
Fixed code review issues
2021-05-24 12:30:28 +03:00
Maksim Kita
1a725d916b
Upated LogicalFunctions
2021-05-24 10:16:12 +03:00
Maksim Kita
72fbb2dd54
Fixed tests
2021-05-24 10:16:12 +03:00
Maksim Kita
ed443c8941
Function constant result with nonconstant arguments
2021-05-24 10:16:12 +03:00
Maksim Kita
5a359a15bc
Fixed Arcadia after IFunctionOverloadResolver interface refactoring
2021-05-19 15:57:37 +03:00
Maksim Kita
d923d9e6ef
Function move file
2021-05-17 10:30:42 +03:00
Maksim Kita
947f28d430
IFunction refactoring
2021-05-15 20:33:15 +03:00
Maksim Kita
24798ef07c
Updated interfaces
2021-05-08 17:39:34 +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
Ivan Lezhankin
f897f7c93f
Refactor IFunction to execute with const arguments
2020-11-17 16:24:45 +03:00
Nikolai Kochetov
571a5fbff3
Update functions interface.
2020-10-15 19:52:25 +03:00
Nikolai Kochetov
959424f28a
Rename block to columns.
2020-10-14 17:04:50 +03:00