Commit Graph

1083 Commits

Author SHA1 Message Date
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
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