Commit Graph

41 Commits

Author SHA1 Message Date
Alexey Milovidov
a904ee970f KeyCondition: preparation 2023-10-14 04:32:25 +02:00
Han Fei
ca6930eb11
Revert "Revert "Merge pull request #50951 from ZhiguoZh/20230607-toyear-fix"" 2023-07-04 17:38:53 +02:00
Alexey Milovidov
477b707ff1 Revert "Merge pull request #50951 from ZhiguoZh/20230607-toyear-fix"
This reverts commit 6bbd0d144d, reversing
changes made to 74cb79769b.
2023-06-26 02:02:24 +02:00
Maksim Kita
129b97c727 JIT infrastructure refactoring 2023-06-20 11:42:22 +03:00
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
Dmitry Novik
2c70dbc76a Refactor FunctionNode 2022-12-02 19:15:26 +00:00
Nikolai Kochetov
eaeb30a71a Merge branch 'master' into use-dag-in-key-condition 2022-07-19 18:39:52 +02: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
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
3ec2ab6156 Avoid using expand, fix bugs, add tests and comments 2021-08-09 17:54:49 +03:00
Pavel Kruglov
0662df8b76 Fix performance with JIT, add arguments to function isSuitableForShortCircuitArgumentsExecution 2021-08-09 17:54:14 +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
Nikolai Kochetov
c22f856d36 Fix indexHint 2021-06-23 15:19:22 +03:00
Anton Popov
3e92c7f61a Merge remote-tracking branch 'upstream/master' into HEAD 2021-05-25 21:45:19 +03:00
Maksim Kita
7af4d5b86d Fixed tests 2021-05-24 14:25:02 +03:00
Maksim Kita
1a725d916b Upated LogicalFunctions 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
Anton Popov
de4afb0cb9 ColumnSparse: add comments 2021-05-21 03:57:11 +03:00
Maksim Kita
d923d9e6ef Function move file 2021-05-17 10:30:42 +03:00
Anton Popov
86d6673d61 minor fixes 2021-05-16 21:59:43 +03:00
Maksim Kita
947f28d430 IFunction refactoring 2021-05-15 20:33:15 +03:00
Anton Popov
d8df0903b9 Merge remote-tracking branch 'upstream/master' into HEAD 2021-05-14 23:38:16 +03:00
Maksim Kita
24798ef07c Updated interfaces 2021-05-08 17:39:34 +03:00
Anton Popov
6ce875175b Merge remote-tracking branch 'upstream/master' into HEAD 2021-04-16 02:08:20 +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
Anton Popov
17071471f2 ColumnSparse: support of functions 2021-03-31 04:08:27 +03:00
Alexander Tokmakov
317df5f5d2 try fix 'value is too short' when converting from String to Nullable(T) 2020-12-24 00:57:33 +03:00
Ivan Lezhankin
f897f7c93f Refactor IFunction to execute with const arguments 2020-11-17 16:24:45 +03:00
Nikolai Kochetov
df1af1bd94 Part 7. 2020-10-19 16:42:14 +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
Nikolai Kochetov
966b1d6cf5 Rename Block to ColumnsWithTypeAndName. 2020-10-14 16:09:11 +03:00
Nikolai Kochetov
3a17c2a7ac Rename FunctionArguments to ColumnsWithTypeAndName 2020-10-11 22:20:20 +03:00
Nikolai Kochetov
a7fb2e38a5 Use ColumnWithTypeAndName as function argument instead of Block. 2020-10-09 10:41:28 +03:00
Azat Khuzhin
9096e1def3 Drop checkNumberOfArgumentsIfVariadic() (never called), check in getReturnType() 2020-07-23 11:13:19 +03:00
Azat Khuzhin
322681eb37 Passthrough isInjective via IFunctionOverloadResolver 2020-04-18 01:50:15 +03:00
Azat Khuzhin
f29e5c60a5 Add const qualifier for IFunction::isInjective() 2020-04-18 01:50:15 +03:00
Ivan Lezhankin
06446b4f08 dbms/ → src/ 2020-04-03 18:14:31 +03:00