Nikolai Kochetov
36da1f2871
Added IFunction::isDeterministicInScopeOfQuery().
2018-08-09 13:52:46 +03:00
Nikolai Kochetov
c339313d8b
Fix LowCardinality conversions for defaults.
2018-08-09 13:52:33 +03:00
chertus
c45b5d9f9a
decimal arithm overflow (except dec128)
2018-08-08 23:15:49 +03:00
chertus
5f93ab73fa
decimal compare overflow
2018-08-08 16:57:16 +03:00
Nikolai Kochetov
0a46943590
Renamed functions makeDictionary, dictionaryIndexes, dictionaryValues to toLowCardinality, lowCardinalityIndexes, lowCardinalityValues.
2018-08-08 16:55:32 +03:00
Nikolai Kochetov
f4d9d50168
Merged with master.
2018-08-08 15:01:18 +03:00
Nikolai Kochetov
c8457abb1b
Made IFunction::isDeterministic and IFunction::isDeterministicInScopeOfQuery are const. Disabled default implementation with dictionary for not isDeterministicInScopeOfQuery functions.
2018-08-08 14:26:18 +03:00
chertus
16ad0caf37
move int exp from decimal scale to libcommon
2018-08-08 13:56:24 +03:00
chertus
297053bfac
decimal compare optimisation
2018-08-08 13:36:03 +03:00
chertus
cae97b1e59
abs for decimal
2018-08-07 17:35:21 +03:00
chertus
7984b4f91d
negate for dec128
2018-08-07 17:12:24 +03:00
chertus
de68022fc5
rewrite Decimal with own data type
2018-08-07 16:57:28 +03:00
alexey-milovidov
38c2b2c8ab
Update FunctionsHashing.h
2018-08-06 20:04:32 +03:00
chertus
c590a74981
Merge branch 'master' into decimal
2018-08-06 13:38:18 +03:00
Anton Popov
efddb89d18
Merge branch 'master' into CLICKHOUSE-3785
2018-08-06 12:42:01 +03:00
ap11
2d41b958a3
add test
2018-08-06 12:35:13 +03:00
Alexey Milovidov
0c233d668f
Removed useless file; preparations #2791
2018-08-03 21:47:44 +03:00
chertus
a338f657d5
unari arithm operations for decimal (partial support)
2018-08-03 19:32:55 +03:00
chertus
e31e4e164f
add least and greatest funcs for decimal
2018-08-03 17:46:02 +03:00
chertus
65882bc42e
minor fix
2018-08-03 13:20:44 +03:00
chertus
e1881d4cfb
fix decimal vs int arithm, add some tests
2018-08-02 17:28:55 +03:00
ap11
860587b2ef
fix typo
2018-08-02 12:39:47 +03:00
ap11
d30a90dcac
add murmurHash3, update FunctionStringHash template
2018-08-02 12:21:26 +03:00
chertus
267f28f98d
decimal arithm (basic support)
2018-08-01 22:50:19 +03:00
chertus
4a1b7cfebf
Merge branch 'master' into decimal
2018-07-30 21:51:08 +03:00
Alexey Milovidov
b1e06fc136
Better code #2756
2018-07-30 21:00:16 +03:00
Alexey Milovidov
7fe1914a63
Whitespaces #2756
2018-07-30 19:07:20 +03:00
alexey-milovidov
be657c33e6
Merge pull request #2756 from CurtizJ/CLICKHOUSE-3785
...
Clickhouse 3785 Add MurmurHash2
2018-07-30 18:57:38 +03:00
ap11
45ce69e73d
Add case insensitive coalesce ifnull, nullif.
2018-07-30 18:50:12 +03:00
alexey-milovidov
b062262b9f
Update FunctionsHashing.h
2018-07-30 18:45:46 +03:00
ap11
4fe3690cad
minor changes
2018-07-30 16:50:26 +03:00
ap11
d45ce92b89
add tests for murmurhash2
2018-07-30 16:41:07 +03:00
ap11
68bdc4eb12
Add mumurhash2
2018-07-30 15:19:22 +03:00
chertus
b9fd87eff7
Merge branch 'master' into decimal
2018-07-27 20:31:33 +03:00
chertus
492875e0f7
decimal comparisons with other integers
2018-07-26 18:28:14 +03:00
chertus
c1c149d74b
decimal comparisons
2018-07-25 22:38:21 +03:00
alesapin
9adb251689
CLICKHOUSE-3857: Add table table_engines, alias factory base class and columns alias_to and case_insensitive to functions
2018-07-25 19:08:23 +03:00
Alexey Milovidov
7c07f46d50
Style [#CLICKHOUSE-2]
2018-07-24 21:46:23 +03:00
alexey-milovidov
1c200589f5
Update FunctionsArray.h
2018-07-23 19:27:23 +03:00
alexey-milovidov
ff2fdac25c
Update FunctionsArray.h
2018-07-23 19:27:23 +03:00
Maxim Khrisanfov
1a57a05342
Opportunity to work with Array of Enums by passing numeric value #626
2018-07-23 19:27:23 +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
e8bd73ff9b
Fixed function makeDictionary for column with dictionary argument.
2018-07-20 13:19:05 +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
Vadim
b8ae9f7951
[CLICKHOUSE-2830] add FunctionArrayDistinct ( #2670 )
...
* [CLICKHOUSE-2830] add FunctionArrayDistinct
* [#CLICKHOUSE-2830] Add tests and fix
* [CLICKHOUSE-2830] fix bug with array without NULL
* [CLICKHOUSE-2830] fix test
* [CLICKHOUSE-3844] Add suport Tuple and other types in Uniq, EnumerateUniq and Distinct
* [CLICKHOUSE-3844] Add '\n'
* [CLICKHOUSE-3844] fix
* [CLICKHOUSE-2830] del Nullable return type
* Update FunctionsArray.cpp
* [CLICKHOUSE-3844] add new tests
* [CLICKHOUSE-3844] add new tests
2018-07-19 16:53:32 +03:00
alexey-milovidov
164425d1ec
Fix performance regression with prepared sets when they are used inside another subquery. ( #2677 )
...
* Attempt to fix performance regression [#CLICKHOUSE-3796]
* Attempt to fix performance regression [#CLICKHOUSE-3796]
* Attempt to fix performance regression [#CLICKHOUSE-3796]
* Attempt to fix performance regression [#CLICKHOUSE-3796]
* Attempt to fix performance regression [#CLICKHOUSE-3796]
* Attempt to fix performance regression [#CLICKHOUSE-3796]
* Attempt to fix performance regression [#CLICKHOUSE-3796]
* Attempt to fix performance regression [#CLICKHOUSE-3796]
* Added documentation about ClickHouse testing (draft) [#CLICKHOUSE-2]
* Attempt to fix performance regression [#CLICKHOUSE-3796]
* Removed debug output [#CLICKHOUSE-3796]
* Removed debug output [#CLICKHOUSE-3796]
* Updated documentation about ClickHouse testing [#CLICKHOUSE-2]
* Revert "Updated documentation about ClickHouse testing [#CLICKHOUSE-2]"
This reverts commit 9eafc13f3b
.
* Revert "Added documentation about ClickHouse testing (draft) [#CLICKHOUSE-2]"
This reverts commit e28ad4b5fe
.
* Fixed test #2677
* Update InterpreterSelectQuery.cpp
2018-07-19 16:36:21 +03:00
proller
51cdec0bec
CLICKHOUSE-3771: fixes
2018-07-18 12:48:45 +03:00
Alexey Milovidov
0a2e6eca45
Implemented generic case for comparison operators #2026
2018-07-16 09:06:44 +03:00
Alexey Milovidov
0f3d6fe756
Fixed error #2649
2018-07-16 03:30:13 +03:00
Alexey Milovidov
eee02143a8
Implemented more accurate CAST from String to Nullable of Date and DateTime #1322
2018-07-16 03:30:13 +03:00
Alexey Milovidov
297805f719
Implemented toOrZero, toOrNull functions for Date and DateTime arguments (incomplete) #1322
2018-07-16 03:30:13 +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
Alexey Milovidov
b01d7bb5e2
Fixed wrong code #2115
2018-07-06 22:37:58 +03:00
Alexey Milovidov
43111f2ac9
Fixed error with function "has" and Nullable array argument #2115
2018-07-06 22:19:38 +03:00
alexey-milovidov
1e78445a25
Update FunctionsConversion.h
2018-07-06 18:55:26 +03:00
Nikolai Kochetov
7592b6e34a
Fixed monotonic constraints for unsigned integer types.
2018-07-06 18:55:26 +03:00
Nikolai Kochetov
5e3c0c0238
Supported nullable for runningDifference function. #2590
2018-07-04 20:25:48 +03:00
alexey-milovidov
3904ba561f
Merge branch 'master' into CLICKHOUSE-2910
2018-06-28 20:47:25 +03:00
Nikolai Kochetov
acd6c8fafd
Supported array(tuple) arguments for arrayEnumerateUniq function. [#CLICKHOUSE-3794]
2018-06-28 20:15:12 +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
Nikolai Kochetov
58cbcbd5c3
Supported DataTypeWithDictionary in CAST function.
2018-06-26 17:12:21 +03:00
Nikolai Kochetov
df71a25b4f
Removed function makeDictionary, added functions makeDictionaryUInt{8,16,32,64}
2018-06-26 17:12:21 +03:00
proller
e1ae5233df
Add // Y_IGNORE tags
2018-06-21 18:24:36 +03:00
Vitaliy Lyudvichenko
310bb4116e
Merge remote-tracking branch 'origin/master' into CLICKHOUSE-2910
2018-06-19 23:33:11 +03:00
proller
fbe7df73a2
CLICKHOUSE-3762 Build fixes ( #2488 )
...
CONTRIB-254
2018-06-19 21:09:09 +03:00
Sergei Tsetlin (rekub)
987644e1e7
shift arguments, some problem seems found!
2018-06-19 16:36:53 +03:00
Sergei Tsetlin (rekub)
36a3425a0f
multiply aggregate state
2018-06-18 15:52:27 +03:00
Vitaliy Lyudvichenko
a0e9d17bfd
Add query_id and host_name to server logs. [#CLICKHOUSE-2910]
2018-06-15 16:49:01 +03:00
alexey-milovidov
fafecb3c25
Better modularity of formats. ( #2492 )
...
* Formats: better modularity (development) #2447
* Formats: better modularity (development) #2447
* Formats: better modularity (development) #2447
* Formats: better modularity (development) #2447
* Formats: better modularity (development) #2447
* Formats: better modularity (development): removed very old tests #2447
* Formats: better modularity (development) #2447
* Formats: better modularity (development) #2447
* Formats: better modularity (development) #2447
* Formats: better modularity (development) #2447
* Formats: better modularity (development) #2447
* Formats: better modularity (development) #2447
* Formats: better modularity (development) #2447
* Formats: better modularity (development) #2447
2018-06-10 22:22:49 +03:00
Alexey Milovidov
29bd48fc7a
Passing settings to ser/de of data types: development #1710
2018-06-08 05:24:27 +03:00
Alexey Milovidov
26d448baad
Passing settings to ser/de of data types: development #1710
2018-06-08 04:51:55 +03:00
Alexey Milovidov
7125db4679
Fixed code with extremely high level of ugliness [#CLICKHOUSE-3764]
2018-06-07 23:25:38 +03:00
proller
cb65528147
Build fixes ( #2481 )
...
* Build fixes
* fix
* Fix package without compiler
* Better
* fix
* fix
* fix
* Build fix
* fix
* fix
* fix
* Build fix
* Fix test
* test fixes
* test: netcat-openbsd
* Compile fixes
* Update AggregateFunctionStatisticsSimple.h
* Update FunctionsRound.h
2018-06-07 17:42:38 +03:00
alexey-milovidov
be4be0758a
Remove escaping in presentational formats ( #2476 )
...
* Removed escaping in presentational formats; changed a way how NULL is output #1729
* Addition to prev. revision #1729
* Addition to prev. revision #1729
* Updated tests #1729
* Updated function visibleWidth to be consistent with Pretty formats #1729
2018-06-07 04:30:29 +03:00
Alexey Milovidov
89b2096fd7
Merge branch 'master' of github.com:yandex/ClickHouse
2018-06-07 00:21:46 +03:00
Alexey Milovidov
a00e5e2c5c
Preparations #2429
2018-06-07 00:13:49 +03:00
Alexey Milovidov
37bd5f175b
Whitespaces #2429
2018-06-06 23:38:02 +03:00
Alexey Milovidov
5fa25968c8
Merge branch 'task_ends_starts' of https://github.com/VadimPE/ClickHouse into VadimPE-task_ends_starts
2018-06-06 23:36:22 +03:00
proller
347579ce46
Cmake: mark system includes as SYSTEM ( #1449 )
...
* contrib: cctz as submodule. update cctz.
* pbuilder: add ubuntu bionic, devel
* Cmake: mark system includes as SYSTEM
* Build fixes
* fix
* Fix package without compiler
* Better
* fix
* fix
* fix
* Build fix
* fix
* fix
* fix
* Cmake: Add SYSTEM to includes for external libs
2018-06-06 23:21:58 +03:00
Vadim
fec000b8dc
Add new tests and new impl
2018-06-06 21:22:49 +03:00
Alexey Milovidov
b9b89a5590
Less dependencies [#CLICKHOUSE-2]
2018-06-05 22:46:49 +03:00
alexey-milovidov
88efe5ad56
Merge pull request #2463 from yandex/pvs-studio
...
Fixes according to PVS-Studio report.
2018-06-04 22:59:47 +03:00
Alexey Milovidov
f467fb38c7
Fixed bug found by PVS-Studio; added test [#CLICKHOUSE-3]
2018-06-04 22:37:58 +03:00
Alexey Milovidov
ca52d96e09
Insignificant changes for PVS-Studio [#CLICKHOUSE-3]
2018-06-04 22:22:27 +03:00
Alexey Milovidov
d811647668
Suppressions for PVS-Studio [#CLICKHOUSE-3]
2018-06-04 18:28:25 +03:00
Alexey Milovidov
1001209e2a
Fixed bug found by PVS-Studio [#CLICKHOUSE-3]
2018-06-04 18:05:19 +03:00
Nikolai Kochetov
1b4c294f01
Added left tuple argument unpacking for IN function if it doesn't equals to set types. [#CLICKHOUSE-3749]
2018-06-04 16:30:38 +03:00
Alexey Milovidov
f5adbceed2
Non significant changes according to clang's -Weverything, part 3 [#CLICKHOUSE-2]
2018-06-03 23:39:06 +03:00
Alexey Milovidov
1c2b024c39
Non significant changes according to clang's -Weverything, part 2 [#CLICKHOUSE-2]
2018-06-03 20:43:56 +03:00
Vadim
31a6613105
fix error
2018-05-30 02:01:36 +03:00
Vadim
3aa24d39d4
Add comparison and fix functions
2018-05-28 23:01:20 +03:00
Vadim
79791ead1e
Add startsWith and endsWith
2018-05-28 01:43:31 +03:00
Alexey Milovidov
13762471da
Changed DayNum_t to DayNum as Amos Bird suggested [#CLICKHOUSE-3]
2018-05-25 16:29:15 +03:00
Nikolai Kochetov
559d944412
Fixed build.
2018-05-21 14:52:02 +03:00
Nikolai Kochetov
937cb2db29
Merged with master.
2018-05-21 14:38:50 +03:00
Nikolai Kochetov
e6adcfaad5
Fixed element types for explicit set in IN function. [#CLICKHOUSE-3730]
2018-05-15 18:38:04 +03:00
proller
efe661b620
Build fixes ( #2347 )
...
* Try fix travis
* fix
* Fix clickhouse-local shared-split link
* fix
* fix
* fix
* Build fixes
* Fix tinfo
* fix
* tinfo -> termcap
2018-05-11 17:16:16 +03:00
Alexey Milovidov
4d9088d3d4
Merge branch 'llvm-jit' of https://github.com/pyos/ClickHouse into pyos-llvm-jit
2018-05-10 18:23:53 +03:00
Alexey Milovidov
93352237d9
Better exception message [#CLICKHOUSE-2]
2018-05-10 18:20:19 +03:00
pyos
c123be1fe4
Fix incorrect phi node edges in if
2018-05-10 17:49:38 +03:00
pyos
6d2259f2cf
Implement jit for comparisons, except for (double, int).
...
That one has some edge cases which I can't be bothered to code.
2018-05-10 17:03:18 +03:00
pyos
4abcef13a1
Merge branch 'pyos-llvm-jit' of https://github.com/yandex/ClickHouse into llvm-jit
2018-05-10 13:19:49 +03:00
Alexey Milovidov
3a059b82d2
Merge branch 'master' of github.com:yandex/ClickHouse into pyos-llvm-jit
2018-05-09 23:34:20 +03:00
Alexey Milovidov
845d6372e7
Fixed linking of tests #2277
2018-05-09 21:33:29 +03:00
Alexey Milovidov
14223a88a3
Fixed build [#CLICKHOUSE-2]
2018-05-09 07:21:40 +03:00
pyos
f060883c4b
Fix a typo
2018-05-08 16:02:32 +03:00
pyos
2d70d9d601
Implement jit for numeric if and multiIf
2018-05-07 23:17:22 +03:00
pyos
1433e6e849
Extract native bool cast; generalize number cast to nullables
2018-05-07 22:21:23 +03:00
pyos
686c1f73fd
Implement IntExp2Impl::compile
2018-05-07 16:36:07 +03:00
pyos
b08dbf2b22
Remove a redundant target_compile_options
2018-05-07 16:33:07 +03:00
Alexey Milovidov
d1b4b5c836
Fixed error; added ProfileEvent #2277
2018-05-07 09:23:18 +03:00
Alexey Milovidov
723cc53948
Applied clang-format to some imported code [#CLICKHOUSE-2]
2018-05-07 05:08:38 +03:00
Alexey Milovidov
c4ff517b8e
Fixed style [#CLICKHOUSE-2]
2018-05-07 05:08:38 +03:00
Alexey Milovidov
1dc1ccc1d8
Applied clang-format #2272
2018-05-07 05:08:38 +03:00
Alexey Milovidov
59bc8e1b48
Applied clang-format to some imported code [#CLICKHOUSE-2]
2018-05-07 05:07:47 +03:00
Alexey Milovidov
619a0dbd8c
Fixed style [#CLICKHOUSE-2]
2018-05-07 05:07:17 +03:00
Alexey Milovidov
90427db854
Applied clang-format #2272
2018-05-07 05:06:55 +03:00
Alexey Milovidov
94369e55d3
Fixed style a bit [#CLICKHOUSE-2]
2018-05-07 05:01:29 +03:00
Alexey Milovidov
956128a67a
Fixed style a bit [#CLICKHOUSE-2]
2018-05-07 05:01:11 +03:00
Alexey Milovidov
ee019183d2
Fixed code #2272
2018-05-06 14:31:14 +03:00
Alexey Milovidov
04d1c8c449
Fixed code #2272
2018-05-06 14:29:17 +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
b45b2b9ea5
added DataTypeWithDictionary serialization per granule
2018-05-04 23:32:26 +03:00
Nikolai Kochetov
cf60dba414
Fixed ColumnWithDictionsry insert functions. Added insertFromFullColumn and insertRangeFromFullColumn.
2018-05-04 13:59:19 +03:00
Nikolai Kochetov
c61049dc59
Fixed ColumnWithDictionsry insert functions. Added insertFromFullColumn and insertRangeFromFullColumn.
2018-05-04 13:58:28 +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
ed83798dd2
Moved DataTypeWithDictionary implementation to DataTypeWithDictionary.cpp
2018-05-03 18:17:10 +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
Nikolai Kochetov
b662dcdd0a
added IColumn::select
2018-05-03 13:53:00 +03:00
pyos
27f12eeaa3
Merge branch 'master' of https://github.com/yandex/ClickHouse into llvm-jit
2018-05-01 22:51:37 +03:00
alexey-milovidov
52c58d3a82
Merge pull request #2308 from ilyshnikova/master
...
Without std::move
2018-05-01 12:35:57 -07:00
Tsarkova Anastasia
3a36569439
Without std::move
2018-05-01 21:34:42 +02:00
alexey-milovidov
81161be755
Merge pull request #2307 from ilyshnikova/master
...
Without std::move
2018-05-01 12:32:37 -07:00
Tsarkova Anastasia
8245dc3f6a
Without std::move
2018-05-01 21:31:01 +02:00
alexey-milovidov
9be89bd0d4
Merge pull request #2272 from ilyshnikova/master
...
Conditional computations.
2018-05-01 12:08:46 -07:00
Tsarkova Anastasia
fe0753a128
Minor fixes, adding test case.
2018-05-01 15:24:43 +02:00
pyos
7483ed24f0
Implement jit for logic functions
2018-05-01 14:43:15 +03:00
Tsarkova Anastasia
210a389592
Getting rid of measure action, other small fixes applied.
2018-04-30 21:33:32 +02: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
039c377a7a
Work around a bug in llvm::IRBuilder::CreateMaxNum
2018-04-30 02:07:39 +03:00
pyos
059bbcacca
Implement jit for most arithmetic functions, remove the test function
2018-04-30 01:43:02 +03:00
Tsarkova Anastasia
a99ff6f380
Fix tests.
2018-04-29 23:48:33 +02:00
pyos
b4c7bee12b
Merge branch 'master' of https://github.com/yandex/ClickHouse into llvm-jit
2018-04-29 23:22:18 +03:00
pyos
1be009d485
Remove getDefaultNativeValue in favor of llvm::Constant::getNullValue
2018-04-29 20:32:30 +03:00
Tsarkova Anastasia
4bce6035b1
Merge branch 'master' into master
2018-04-29 18:02:34 +02:00
Tsarkova Anastasia
2c96b1c684
Add comments. Change projection restoring function.
2018-04-29 15:49:58 +02:00
pyos
01aaf99d75
Use C++17 fold expressions to simplify FunctionsArithmetic.h
2018-04-29 16:04:28 +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
pyos
c95f8a669f
Throw in untyped versions of IFunction::{isCompilable,compile}
...
IFunction inherits IFunctionBase for some reason despite not actually knowing
the types, so these two methods make no sense. The versions with DataTypes&
as an argument should be used instead.
2018-04-25 20:07:19 +03:00
pyos
0da110234c
Do not compile the jit if USE_EMBEDDED_COMPILER is disabled
2018-04-25 16:01:00 +03:00
pyos
df2d2e0b25
Tweak the jit compilation API to be more amenable to lazy computation
2018-04-25 13:37:26 +03:00
pyos
3810173103
Remove IFunction::createResultColumn.
...
Given that the list of supported types is hardcoded in
LLVMContext::Data::toNativeType, this method is redundant because
LLVMPreparedFunction can create a ColumnVector itself.
2018-04-25 13:37:26 +03:00
pyos
8c8a8f9c0f
Extend the test jit-compilable function to arbitrary numbers
2018-04-25 13:37:25 +03:00
pyos
407008a4d9
Separate jit-compilability checks from actual compilation
2018-04-25 13:37:25 +03:00
pyos
e96a5e8344
Implement JIT compilation, without a loop for now.
...
It actually seems to work, so long as you only have one row that is. E.g.
> select something(cast(number + 6 as Float64), cast(number + 2 as Float64)) from system.numbers limit 1';
8
with this IR:
define void @"something(CAST(plus(number, 6), 'Float64'), CAST(plus(number, 2), 'Float64'))"(void**, i8*, double*) {
entry:
%3 = load void*, void** %0
%4 = bitcast void* %3 to double*
%5 = load double, double* %4
%6 = getelementptr void*, void** %0, i32 1
%7 = load void*, void** %6
%8 = bitcast void* %7 to double*
%9 = load double, double* %8
%10 = fadd double %5, %9
store double %10, double* %2
ret void
}
2018-04-25 13:37:25 +03:00
pyos
851684de51
Add a JIT interface for row-wise default-nullable functions.
...
Not actually implemented, though. It does print out some jit-compiled stuff,
but that's about it. For example, this query:
select number from system.numbers where something(cast(number as Float64)) == 4
results in this on server's stderr:
define double @"something(CAST(number, 'Float64'))"(void**, i8*, void*) {
"something(CAST(number, 'Float64'))":
ret double 1.234500e+04
}
(and an exception, because that's what the non-jitted method does.)
As one may notice, this function neither reads the input (first argument;
tuple of arrays) nor writes the output (third argument; array), instead
returning some general nonsense.
In addition, `#if USE_EMBEDDED_COMPILER` doesn't work for some reason,
including LLVM headers requires -Wno-unused-parameter, this probably only
works on LLVM 5.0 due to rampant API instability, and I'm definitely
no expert on CMake. In short, there's still a long way to go.
2018-04-25 13:37:25 +03:00
pyos
27d90fb941
Add an example function that uses LLVM to compile its own body
2018-04-25 13:37:25 +03:00
alexey-milovidov
6c73fb86e3
Update FunctionsMath.h
2018-04-24 10:11:03 -07:00
Babacar Diassé
22b2099b0b
use exp10 and cbrt from vectorclass when enabled
2018-04-24 10:11:03 -07: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
Alexey Milovidov
d71b3a95ef
Renamed PK to Key where it's appropriate #2246
2018-04-20 03:20:50 +03:00
Alexey Milovidov
ef14902ef9
Style #1925
2018-04-19 07:25:08 +03:00
alexey-milovidov
0612977bc3
Merge pull request #1925 from zhang2014/fix/ISSUES-995
...
ISSUES-995 support relative path with domain
2018-04-19 07:19:23 +03:00
Nikolai Kochetov
e9bc071837
default implementation for functions with ColumnWithDictionary arguments
2018-04-17 20:47:27 +03:00
Nikolai Kochetov
c6a3fec726
Merge branch 'master' into data-type-with-dictionary
2018-04-17 13:44:19 +03:00
Nikolai Kochetov
0f0d5b3c0c
added DataTypeWithDictionary [#CLICKHOUSE-3621]
2018-04-17 13:43:46 +03:00
proller
c26b3bdef1
Fix split shared build; fix build without system odbc libs ( #2191 )
...
* Fix split shared build
* Fix build without system odbc libs
* Move dbms/src/Common/iostream_debug_helpers.h -> libs/libcommon/include/common/iostream_debug_helpers.h
* Fix build with libiodbc
2018-04-09 06:52:39 -07:00
Alexey Milovidov
3f264f07e9
Removed excessive library dependencies #2180
2018-04-07 05:29:12 +03:00
Alexey Milovidov
ac58f92a97
Fixed error with IN where left hand side is nullable #1846
2018-04-06 08:12:47 +03:00
Alexey Milovidov
6452a3bb76
Removed (obsolete) special handling for Arrays in the left hand side of IN [#CLICKHOUSE-2]
2018-04-05 23:52:01 +03:00
谢磊
c898986650
change the return type of funciton countEqual
...
the maximum length of the array is defined as UInt64.
the maximum of `UInt32` just 4294967295.
it's better to define the return type of the function `countEqual` as `UInt64`.
2018-03-31 12:54:06 -05:00
Alexey Milovidov
b997830289
Fixed error found by Artemeey Gavryushin [#CLICKHOUSE-3]
2018-03-29 18:31:59 +03:00
Nikolai Kochetov
bd3f2ea361
Merge branch 'stricter-mutable-column-semantic-3' into stricter-mutable-column-semantic-2
2018-03-20 22:47:40 +03:00
Nikolai Kochetov
476d4b339c
Immutable construction for columns
2018-03-20 22:45:10 +03:00
Nikolai Kochetov
1f4db58d53
fix test
2018-03-20 20:01:13 +03:00
Nikolai Kochetov
a399c17f01
&& - qualified IColumn::mutate
2018-03-20 17:01:00 +03:00
Alexey Milovidov
90aa6374a7
Revert "Preparation #2026 "
...
This reverts commit 60ecc03253
.
2018-03-17 21:29:50 +03:00
Alexey Milovidov
60ecc03253
Preparation #2026
2018-03-17 20:46:25 +03:00
Alexey Milovidov
536a4a0c52
More checks [#CLICKHOUSE-2]
2018-03-16 07:49:22 +03:00
Alexey Milovidov
30192b1b42
Fixed backward compatibility [#CLICKHOUSE-3650].
2018-03-16 06:13:13 +03:00