Robert Schulze
5037ce547f
Only allow 8/16/32-bit signed integers as custom error code data type
...
The internally used data type for error code is "int", and by
disallowing unsigned integers or integers >= 64 bit we avoid truncation
issues.
2022-08-18 15:16:08 +00:00
Robert Schulze
d6e5a6b7e7
fix: prevent possible race between getReturnTypeImpl() and executeImpl()
...
I don't know if the context (in detail: the config settings) can change
between calls to getReturnTypeImpl() and executeImpl() but we better
don't find out. Instead, read setting "allow_custom_error_code_in_throwif"
just just once in the ctor of FunctionThrowIf.
2022-08-18 12:24:42 +00:00
Robert Schulze
baae7726a7
style: "Fix" style check in CI
2022-08-18 10:13:58 +00:00
Robert Schulze
f121941916
feat: allow custom error code for SQL function throwIf()
2022-08-17 21:14:40 +00:00
Robert Schulze
164fc3d296
style: improve code aesthetics
2022-08-17 20:39:37 +00:00
Li Yin
4088c0a7f3
Automated function registration
...
Automated register all functions with below naming convention by
iterating through the symbols:
void DB::registerXXX(DB::FunctionFactory &)
2022-07-29 15:39:50 +08:00
Azat Khuzhin
767acd53fb
Add ability to pass range of rows to Aggregator
...
v2: fix compiled aggregate functions (seek result to row_start)
v3: fix compiled aggregate functions (seek args to row_start)
v4: change signatures for JIT
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-04-29 06:57:55 +03:00
Maksim Kita
22112feef3
Fix crash for function throwIf with constant arguments
2022-03-22 12:30:25 +01:00
Maksim Kita
02b6ad52ef
FunctionThrowIf fixed exception
2021-12-20 16:55:15 +03:00
Maksim Kita
60d4295d8a
FunctionThrowIf added comment
2021-12-20 16:00:43 +03:00
Maksim Kita
20e4ce3314
Short circuit evaluation function throwIf support
2021-12-20 14:49:05 +03:00
Pavel Kruglov
70b51133c1
Try to simplify code
2021-08-09 18:01:08 +03:00
Pavel Kruglov
0662df8b76
Fix performance with JIT, add arguments to function isSuitableForShortCircuitArgumentsExecution
2021-08-09 17:54:14 +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
Nikolai Kochetov
dbaa6ffc62
Rename ContextConstPtr to ContextPtr.
2021-06-01 15:20:52 +03:00
Alexander Kuzmenkov
3f57fc085b
remove mutable context references from functions interface
...
Also remove it from some visitors.
2021-05-28 19:45: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
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
295e612343
Fix build and tests.
2020-10-20 16:11:57 +03:00
Nikolai Kochetov
384718e6c3
Part 8.
2020-10-19 18:27:41 +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
d28325a353
Replace getByPosition to []
2020-10-10 21:24:57 +03:00
Artem Zuikov
b3eafc1106
hide symbols in nameless namespace
2020-09-07 21:00:37 +03:00
Nikolai Kochetov
e4689ce302
Make IFunction::executeImpl const.
2020-07-21 16:58:07 +03:00
Alexey Milovidov
d3418bbb02
Fix clang-tidy
2020-04-22 11:45:14 +03:00
Ivan Lezhankin
06446b4f08
dbms/ → src/
2020-04-03 18:14:31 +03:00