Commit Graph

95 Commits

Author SHA1 Message Date
Nikolai Kochetov
f61fdf2076 Better const resolution for LowCardinality type. [#CLICKHOUSE-3621] 2018-08-14 20:19:40 +03:00
Nikolai Kochetov
36da1f2871 Added IFunction::isDeterministicInScopeOfQuery(). 2018-08-09 13:52:46 +03:00
Nikolai Kochetov
2bce1f0fb7 Fix tests. 2018-07-20 16:07:51 +03:00
Nikolai Kochetov
df8e030b2d Fix tests. 2018-07-20 15:30:04 +03:00
Nikolai Kochetov
3a74ec7c0c Mergred with master 2018-07-20 14:08:54 +03:00
Nikolai Kochetov
bf26fda38d Added canBeExecutedOnDefaultArguments into IFunction. Don't run function on defaults is this flag is true. 2018-07-20 13:19:07 +03:00
Nikolai Kochetov
cbbbda2539 Supported serialization of several dictionaries into single part.
Run function on nested column of column with dictionary only if arguments have single column with dictionary and other columns are const.
2018-07-20 13:18:21 +03:00
Nikolai Kochetov
9c763f8090 Make DatsTypeWithDictionary independent from index type. 2018-07-20 13:16:27 +03:00
Alexey Milovidov
8533011a49 More accurate conversion to Nullable type in function CAST #1322 2018-07-16 03:30:13 +03:00
Alexey Milovidov
14d5aa061f Miscellaneous #1322 2018-07-11 22:37:57 +03:00
Nikolai Kochetov
9f591b8d02 Merged with master. 2018-06-26 17:41:29 +03:00
Nikolai Kochetov
f56d16769b Added pre and post serialization for IDataType BinaryBulkWithMultipleStreams. Supported dictionary serialization format with single global dictionary (limited wit max_dictionary_size) and additional keys which are stored per granule. Changed IDataType::enumerateStream interface. Added (de)serialization params for binary bulk with multiple stream (de)serialization. Changed IColumn::index interface. 2018-06-26 17:12:21 +03:00
proller
e1ae5233df Add // Y_IGNORE tags 2018-06-21 18:24:36 +03:00
Alexey Milovidov
b9b89a5590 Less dependencies [#CLICKHOUSE-2] 2018-06-05 22:46:49 +03:00
Nikolai Kochetov
937cb2db29 Merged with master. 2018-05-21 14:38:50 +03:00
Alexey Milovidov
d1b4b5c836 Fixed error; added ProfileEvent #2277 2018-05-07 09:23:18 +03:00
Alexey Milovidov
b580d1c487 Allow to build with clang 7 2018-05-06 14:16:38 +03:00
Alexey Milovidov
b1b95454cc Make warning suppressions more local #2277 2018-05-06 12:29:57 +03:00
Nikolai Kochetov
9c696f40b9 Fixed ColumnWithDictionsry insert functions. Added insertFromFullColumn and insertRangeFromFullColumn. 2018-05-04 13:48:09 +03:00
Nikolai Kochetov
153fda001e Moved DataTypeWithDictionary implementation to DataTypeWithDictionary.cpp 2018-05-03 18:20:58 +03:00
Nikolai Kochetov
db23e0fcb4 added IColumn::select 2018-05-03 15:53:18 +03:00
Nikolai Kochetov
ba0a5af437 added IColumn::select 2018-05-03 15:51:26 +03:00
Nikolai Kochetov
97fbd37cb0 added IColumn::select 2018-05-03 15:47:14 +03:00
Nikolai Kochetov
4ac8078c82 added IColumn::select 2018-05-03 15:02:36 +03:00
Nikolai Kochetov
882ddff7d4 added IColumn::select 2018-05-03 14:59:01 +03:00
pyos
27f12eeaa3 Merge branch 'master' of https://github.com/yandex/ClickHouse into llvm-jit 2018-05-01 22:51:37 +03:00
pyos
e4ace21f24 Remove laziness on nullable arguments from default implementation
It breaks semantics, sadly.
2018-04-30 15:35:32 +03:00
pyos
4970b06b57 Remove outdated comments 2018-04-30 02:21:45 +03:00
pyos
1be009d485 Remove getDefaultNativeValue in favor of llvm::Constant::getNullValue 2018-04-29 20:32:30 +03:00
pyos
fb577b1049 Hide the whole JIT API behind #if USE_EMBEDDED_COMPILER
Kind ugly, but at least the conditionals are used consistently now.
2018-04-29 13:48:16 +03:00
pyos
6e05c5ace4 compilePrologue() isn't particularly useful after all.
Basically the only thing it can do that compile() can't is create 'alloca'
instructions, which are only needed to get pointers to stack variables.
Given that dynamically-sized allocations aren't possible with this API,
such pointers are probably completely pointless (heh).
2018-04-28 18:11:23 +03:00
pyos
a1eb938ed2 Inline nullable number constants into compiled code.
Also, protect against some segfaults during compilation by checking
correctness of the type returned by compile().
2018-04-28 17:12:00 +03:00
pyos
ccc895d162 Represent nullable types as pairs instead of pointers.
Turns out LLVM has insertvalue & extractvalue for struct in registers. This is
faster than pointers because null checks are now subject to more optimizations.
2018-04-28 14:12:23 +03:00
pyos
979c4d959f Let jit-compilable functions deal with NULLs themselves.
And provide a default implementation of compile() for nullable columns
that actually works and is consistent with execute().
2018-04-28 00:34:27 +03:00
Tsarkova Anastasia
12c8014e5c Conditional computations. 2018-04-24 09:16:39 +02:00
Nikolai Kochetov
792caf4294 added IColumn::select 2018-04-23 21:20:52 +03:00
Nikolai Kochetov
46d47cd892 added IColumn::select 2018-04-23 21:19:34 +03:00
Nikolai Kochetov
4369613435 added IColumn::select 2018-04-23 19:40:25 +03:00
Nikolai Kochetov
e9bc071837 default implementation for functions with ColumnWithDictionary arguments 2018-04-17 20:47:27 +03:00
Nikolai Kochetov
a399c17f01 && - qualified IColumn::mutate 2018-03-20 17:01:00 +03:00
Alexey Milovidov
536a4a0c52 More checks [#CLICKHOUSE-2] 2018-03-16 07:49:22 +03:00
Nikolai Kochetov
27179b375a removed prerequisites [#CLICKHOUSE-3550] 2018-02-08 20:18:52 +03:00
Nikolai Kochetov
583ff32fe8 changed IFunction 2018-02-08 20:18:15 +03:00
Alexey Milovidov
d899d3f8f5 Added functions toNumberOrNull from String argument #1322 2017-12-25 08:22:33 +03:00
Alexey Milovidov
a1fe019b5c Fixed possibility of infinite recursion in IFunction::defaultImplementationForConstantArguments when wrong number of arguments is passed to a function [#CLICKHOUSE-2]. 2017-12-23 04:54:51 +03:00
Alexey Milovidov
ecd56de6a8 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-16 00:11:24 +03:00
Alexey Milovidov
fb38ef9a8e Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-14 06:56:56 +03:00
Alexey Milovidov
f3bb24a3bf Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-14 04:43:19 +03:00
Alexey Milovidov
c3015bece3 Miscellaneous [#CLICKHOUSE-2]. 2017-12-11 01:44:04 +03:00
Alexey Milovidov
dd40e00f86 Fixed error [#CLICKHOUSE-2] 2017-12-09 19:17:37 +03:00