Alexey Milovidov
65a08210ac
Merge branch 'llvm-jit' of https://github.com/pyos/ClickHouse into pyos-llvm-jit
2018-05-10 22:09:47 +03:00
pyos
e5ebc24657
Revert the part of bd332b that moved a read after std::move.
2018-05-10 21:19:41 +03:00
pyos
1718e575a7
Bridge between incompatible LLVM APIs
2018-05-10 20:31:24 +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
d3b7bafedf
Miscellaneous #2277
2018-05-10 18:22:54 +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
bd332b9171
Allow calling into libc from jitted code.
...
Mostly for intrinsics like memcpy/memset/memmove, which are inserted
during optimization by LLVM itself. (With a null resolver, a compiled
version of something like `Uint64 < 0` would segfault.)
2018-05-10 17:00:32 +03:00
pyos
4776168c3b
Merge branch 'master' of https://github.com/yandex/ClickHouse into llvm-jit
2018-05-10 13:25:26 +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
Vitaliy Lyudvichenko
b4025e312e
Use neat boost::program_options, more parameters. [#CLICKHOUSE-3713]
2018-05-10 02:15:06 +03:00
Vitaliy Lyudvichenko
5704de8774
Fixed settings passing in clickhouse-local and tmp dirs. [#CLICKHOUSE-3713]
2018-05-10 02:15:06 +03:00
Alexey Milovidov
6f69c41bdd
Fixed error #2277
2018-05-10 01:29:23 +03:00
Alexey Milovidov
72ab282bca
Removed hack #2277
2018-05-10 00:03:03 +03:00
Alexey Milovidov
f82ef70b4f
Updated submodules #2277
2018-05-09 23:36:33 +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
4d2989e42f
Added support for bundled LLVM libraries #2277
2018-05-09 23:31:03 +03:00
Alexey Milovidov
845d6372e7
Fixed linking of tests #2277
2018-05-09 21:33:29 +03:00
Vitaliy Lyudvichenko
864dc0546b
Add requested changes. [#CLICKHOUSE-3645]
2018-05-09 07:55:08 +03:00
Vitaliy Lyudvichenko
8746149965
More persistent directory names for replicas. [#CLICKHOUSE-2]
2018-05-09 07:55:08 +03:00
Vitaliy Lyudvichenko
1f05000c2c
Better naming. [#CLICKHOUSE-3645]
2018-05-09 07:55:08 +03:00
Vitaliy Lyudvichenko
704583968f
Do not save resolved addresses in Connections. [#CLICKHOSUE-2]
...
Add disable_internal_dns_cache main config option.
2018-05-09 07:55:08 +03:00
Vitaliy Lyudvichenko
8fd72a6777
Add automatic DROP DNS CACHE, update of SYSTEM queries. [#CLICKHOUSE-3645]
2018-05-09 07:55:08 +03:00
Alexey Milovidov
bd79242688
Better #2328
2018-05-09 07:49:34 +03:00
alexey-milovidov
1e9edac617
Merge pull request #2328 from proller/fix15
...
Build fixes (gcc8)
2018-05-09 07:25:18 +03:00
Alexey Milovidov
b442cd9c64
Miscellaneous (no effect) [#CLICKHOUSE-2]
2018-05-09 07:22:30 +03:00
Alexey Milovidov
14223a88a3
Fixed build [#CLICKHOUSE-2]
2018-05-09 07:21:40 +03:00
Alexey Milovidov
6efcdc5a6c
Merge branch 'master' of github.com:yandex/ClickHouse into pyos-llvm-jit
2018-05-09 04:55:49 +03:00
proller
eb772b8001
gcc8 fixes (memset, uncaught_exception)
2018-05-08 22:44:54 +03:00
proller
b6ffdd93e1
Ignore werror in Core/Field.h
2018-05-08 17:46:55 +03:00
pyos
f060883c4b
Fix a typo
2018-05-08 16:02:32 +03:00
Alexey Milovidov
6e2028d921
Merge branch 'master' of github.com:yandex/ClickHouse into pyos-llvm-jit
2018-05-08 16:01:56 +03:00
Alex Zatelepin
7244dfe1f5
better detached part name
2018-05-08 15:47:06 +03:00
alexey-milovidov
fd9938cc46
Update getNumberOfPhysicalCPUCores.cpp
2018-05-08 12:43:45 +03:00
Atri Sharma
14cc530833
Update based on comments
2018-05-08 12:43:45 +03:00
Atri Sharma
22530c38e4
Add Rounding to nearest number
2018-05-08 12:43:45 +03:00
Atri Sharma
9b5ecc83ac
Fix quota issue
2018-05-08 12:43:45 +03:00
Atri Sharma
cbaf78df4f
Implement CGroups Limit for CPU
2018-05-08 12:43:45 +03:00
Alexey Milovidov
14649ad5e6
Merge branch 'master' of github.com:yandex/ClickHouse into pyos-llvm-jit
2018-05-08 00:27:13 +03:00
Alexey Milovidov
3453bf577a
Merge branch 'llvm-jit' of github.com:pyos/ClickHouse into pyos-llvm-jit
2018-05-08 00:25:13 +03:00
Alexey Milovidov
43f0b419ea
Removed useless code [#CLICKHOUSE-2]
2018-05-08 00:01:15 +03:00
Alexey Zatelepin
6047db7ea2
fix removing failed quorum parts at startup (tryGetChilden actually returns error code, not success flag)
2018-05-07 23:31:28 +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
Alexey Milovidov
089ef3277f
Removed useless code [#CLICKHOUSE-2]
2018-05-07 19:30:47 +03:00
pyos
cfc41e1a64
Copy changes from LLVM {5,6} CMakeLists to 7
2018-05-07 19:14:00 +03:00
pyos
f070f73220
Merge branch 'master' of https://github.com/yandex/ClickHouse into llvm-jit
...
Conflicts:
debian/.pbuilderrc
2018-05-07 19:11:48 +03:00
pyos
32fd123010
Select an *exact* target machine, not an approximation.
...
Required for enabling advanced features such as AVX and AVX2.
Code mostly copied from LLVM's tools/opt/opt.cpp.
2018-05-07 19:06:13 +03:00
Alexey Milovidov
a611fbd143
Merge branch 'master' of github.com:yandex/ClickHouse into pyos-llvm-jit
2018-05-07 19:00:41 +03:00
proller
398097d24a
Build fixes ( #2323 )
...
* Build fixes
* Fixes
* remove libzookeeper-mt-dev
* fix
* fix
* wrong
* try fix
* fix
* Update CMakeLists.txt
2018-05-07 18:59:52 +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
pyos
d4b5c01a1e
Fix addModule check for LLVM < 7
...
It returns `Expected`, so false-y is a failure. (In >= 7 it returns
an `Error`, so truth-y is a failure. Wow, that's confusing.)
2018-05-07 16:04:07 +03:00
pyos
0e09138405
Assume output and one input of LLVMFunction is non-const
2018-05-07 16:03:26 +03:00
Alexey Milovidov
4c1c2dbdff
Merge remote-tracking branch 'origin/master' into pyos-llvm-jit
2018-05-07 13:44:15 +03:00
Alexey Milovidov
01bbf650f8
Build fixes #2277
2018-05-07 11:59:24 +03:00
Alexey Milovidov
147919928d
Better error checks #2277
2018-05-07 09:49:56 +03:00
Alexey Milovidov
d1b4b5c836
Fixed error; added ProfileEvent #2277
2018-05-07 09:23:18 +03:00
Alexey Milovidov
e06223cbb8
Style [#CLICKHOUSE-2]
2018-05-07 05:15:47 +03:00
Alexey Milovidov
b8a6261bbc
Style [#CLICKHOUSE-2]
2018-05-07 05:15:47 +03:00
Alexey Milovidov
a916d2760e
Style [#CLICKHOUSE-2]
2018-05-07 05:15:24 +03:00
Alexey Milovidov
fd0ee5c6b1
Style [#CLICKHOUSE-2]
2018-05-07 05:14:24 +03:00
Alexey Milovidov
02f8757bef
Applied clang-format #2272
2018-05-07 05:09:44 +03:00
Alexey Milovidov
b2edcfaa50
Applied clang-format #2272
2018-05-07 05:09:29 +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
e26abf0ab4
Applied clang-format to some imported code [#CLICKHOUSE-2]
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
598c7fddb7
Applied clang-format to some imported code [#CLICKHOUSE-2]
2018-05-07 05:06:00 +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
a687c90100
Allow to link with LLVM if it was compiled without RTTI #2277
2018-05-07 03:00:12 +03:00
proller
81e2467283
Squashed commit of the following:
...
commit f1c193ea483872fee44e2969fc79a9b111a61d3d
Author: proller <proller@github.com>
Date: Sun May 6 16:28:46 2018 +0300
Clang5 build fix
commit c0ff4234747858dfd7741c90a5c77e9f8d47cd40
Merge: 852e11b
71814a3
Author: proller <proller@github.com>
Date: Sun May 6 16:04:26 2018 +0300
Merge remote-tracking branch 'upstream/master' into fix15
commit 852e11b409
Author: proller <proller@github.com>
Date: Sat May 5 20:15:40 2018 +0300
Try master
commit 2a5cebb5e5
Author: proller <proller@github.com>
Date: Sat May 5 19:34:55 2018 +0300
Try fix contrib/capnproto error with new compilers
commit bbfe581683
Merge: f493474
634ba89
Author: proller <proller@github.com>
Date: Sat May 5 19:25:01 2018 +0300
Merge remote-tracking branch 'upstream/master' into fix15
commit f49347469d
Author: proller <proller@github.com>
Date: Sat May 5 15:31:47 2018 +0300
Build fixes
2018-05-06 16:29:51 +03:00
Alexey Milovidov
71814a33d5
Fixed code #2272
2018-05-06 14:34:31 +03:00
Alexey Milovidov
9da677719c
Fixed code #2272
2018-05-06 14:34:16 +03:00
Alexey Milovidov
daed1ea0dc
Fixed code #2272
2018-05-06 14:33:19 +03:00
Alexey Milovidov
63625c0a30
Fixed code #2272
2018-05-06 14:33:03 +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
6c7f896f9f
Miscellaneous #2277
2018-05-06 13:42:35 +03:00
Alexey Milovidov
69c67b4cd4
Addition to prev. revision #2277
2018-05-06 12:37:16 +03:00
Alexey Milovidov
c4a26764ce
Miscellaneous #2277
2018-05-06 12:32:36 +03:00
Alexey Milovidov
f495d8cfa5
Removed deprecated CMake function #2277
2018-05-06 12:30:35 +03:00
Alexey Milovidov
b1b95454cc
Make warning suppressions more local #2277
2018-05-06 12:29:57 +03:00
Alexey Milovidov
53f03a4909
Merge branch 'llvm-jit' of https://github.com/pyos/ClickHouse into pyos-llvm-jit
2018-05-06 12:22:42 +03:00
Alexey Milovidov
f589149189
Fixed build of embedded compiler with clang 7 [#CLICKHOUSE-2]
2018-05-06 12:04:10 +03:00
Alexey Milovidov
a8deddbc68
Removed useless code [#CLICKHOUSE-2]
2018-05-06 09:52:23 +03:00
Alexey Milovidov
4bc5163b80
Fixed build with clang 7 #2277
2018-05-06 09:35:59 +03:00
Alexey Milovidov
a227a984b5
Fixed warning found by clang 7 [#CLICKHOUSE-2]
2018-05-06 09:29:57 +03:00
Alexey Milovidov
a5dd90c35e
Added a patch for cc1as_main from clang7 #2277
2018-05-06 09:03:36 +03:00
Alexey Milovidov
2ba241b06e
Fixed build of embedded compiler with clang 7 #2277
2018-05-06 09:03:05 +03:00
Alexey Milovidov
a0f1b1f1ee
Whitespace [#CLICKHOUSE-2]
2018-05-06 05:21:59 +03:00
proller
634ba89f90
Build fixes
2018-05-05 15:34:17 +03:00
pyos
88bb2f7c25
Resolve symbols right after compiling.
...
llvm::orc::RTDyldObjectLinkingLayer::findSymbol appears to be non-threadsafe.
2018-05-05 00:38:17 +03:00
proller
7781492624
Fix user name on distributed queries ( #2292 )
...
* Fix user name on distributed queries
* wip
* fix
2018-05-05 00:21:23 +03:00
KochetovNicolai
e0addcdfec
Update ColumnVector.cpp
...
Fixed memset bytes count.
2018-05-03 20:29:53 +03:00
pyos
a286dea2e1
Don't waste time jit-compiling isolated functions.
...
This is already done ahead of time when building the executable.
2018-05-03 16:34:42 +03:00
Vitaliy Lyudvichenko
63cc34d3f6
Fixed incorrect failed OP detection in ZooKeeper. [#CLICKHOUSE-2]
2018-05-03 16:34:19 +03:00
pyos
23bbf632e5
If all inputs to a jitted function are constant, return a constant
2018-05-03 16:33:40 +03:00
pyos
accbbdb9e3
Add a setting that disables jit-compilation
2018-05-03 00:48:20 +03:00
pyos
900b92f744
Merge API changes from upstream
2018-05-01 22:52:33 +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
cb221cee29
Merge pull request #2306 from ilyshnikova/master
...
struct instead of class
2018-05-01 12:20:03 -07:00
Tsarkova Anastasia
ba901ebc3f
struct instead of class
2018-05-01 21:18:13 +02:00
alexey-milovidov
9be89bd0d4
Merge pull request #2272 from ilyshnikova/master
...
Conditional computations.
2018-05-01 12:08:46 -07:00
Tsarkova Anastasia
7c9741ed5b
Fix style.
2018-05-01 15:31:38 +02: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
pyos
7529aa55a4
Fix a bug that limited inlining depth at 2
2018-04-30 01:23:27 +03:00
Tsarkova Anastasia
a99ff6f380
Fix tests.
2018-04-29 23:48:33 +02:00
Tsarkova Anastasia
9286c98789
Fix build.
2018-04-29 23:13:01 +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
72f2fea837
Extract the code that compiles a single IFunctionBase from LLVMFunction
2018-04-29 21:03:58 +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
4641e2960f
Move ExpressionActions::compileFunctions to ExpressionJIT.cpp.
...
This means ExpressionJIT.h only has to expose one function.
2018-04-29 13:39:01 +03:00
pyos
08345628a2
Support {Date,DateTime,Interval,UUID,FixedString} in compiled functions
2018-04-28 18:55:48 +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
1ffc2a0775
Make LLVMFunction monotonicity computation shorter (and fix a typo-bug)
2018-04-28 17:41:24 +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
5c75342d54
Check nativity of all types *before* calling isCompilable
2018-04-28 01:03:52 +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
alexey-milovidov
093c054b1f
Merge pull request #2263 from luc1ph3r/arbitrary-csv-delimiter
...
Support an arbitrary CSV delimiter
2018-04-27 13:13:09 -07:00
alexey-milovidov
96e2dfa790
Update SettingsCommon.h
2018-04-27 13:12:26 -07:00
pyos
49b61cd27d
Refactor LLVMFunction to make extending to DataTypeNullable easier
2018-04-27 18:44:38 +03:00
Vitaliy Lyudvichenko
e152f223c9
Fix nodes leak in case of session expiration. [#CLICKHOUSE-2]
2018-04-26 22:46:45 +03:00
pyos
a9e0b6de9f
Use system LLVMConfig.cmake with minor tweaks.
...
Should fix Travis build, finally.
2018-04-26 22:45:39 +03:00
Ivan Zhukov
4094e21be5
Code review
2018-04-26 20:41:43 +03:00
pyos
b4d527ee85
Inline compile-time constants into jitted functions.
2018-04-26 14:30:16 +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
9ae5fe1b6d
Minor style fixes
2018-04-25 18:33:58 +03:00
pyos
854f85dd9b
Put #if USE_EMBEDDED_COMPILER in ExpressionJIT.{cpp,h}
2018-04-25 18:19:22 +03:00
pyos
d59b0d7ec0
Add IColumn::getRawData to fixed-contiguous columns
2018-04-25 18:16:48 +03:00
pyos
6c275c27d0
Remove an unnoticed debug return
2018-04-25 16:44:24 +03:00
pyos
c419d5a1a5
Poison only columns actually used by ARRAY_JOIN and JOIN
2018-04-25 16:01:06 +03:00
pyos
5482282943
Implement informational methods for LLVMFunction
2018-04-25 16:01:06 +03:00
pyos
af7ecd4c4a
Move function compilation before insertion of REMOVE_COLUMNs
2018-04-25 16:01:06 +03:00
pyos
162a0c8b33
Fix some comments' style
2018-04-25 16:01:06 +03:00
pyos
0da110234c
Do not compile the jit if USE_EMBEDDED_COMPILER is disabled
2018-04-25 16:01:00 +03:00
pyos
1bece1de46
Support nullable columns (with default behavior) in jitted functions
2018-04-25 13:37:26 +03:00
pyos
4bd0906613
Fix some comments
2018-04-25 13:37:26 +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
b2077a466a
Inline jit-compilable functions into other jit-compilable functions
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
6b526f784c
Enable the default set of LLVM optimization passes
...
I honestly can't tell if they work. LLVM has surprisingly bad API documentation.
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
5f1bf11ede
Implement a loop over the columns in jit-compiled code
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
b398ffbaba
Map all number types to LLVM types.
...
The example from the previous commit doesn't need a cast to Float64 anymore.
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
Silviu Caragea
1dd5a704fc
Merge remote-tracking branch 'origin/master' into background-schedule-pool-fix
...
# Conflicts:
# dbms/src/Common/ZooKeeper/LeaderElection.h
# dbms/src/Storages/MergeTree/ReplicatedMergeTreeAlterThread.cpp
# dbms/src/Storages/MergeTree/ReplicatedMergeTreeCleanupThread.cpp
# dbms/src/Storages/MergeTree/ReplicatedMergeTreePartCheckThread.cpp
# dbms/src/Storages/StorageReplicatedMergeTree.cpp
2018-04-24 20:11:59 +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
sundy-li
e882acef31
fix:ODBC sqlType mapping
2018-04-23 22:55:06 -07:00
Alexey Milovidov
958a3d7ee7
Fixed error with Arrays inside Nested data type; added a test #2066
2018-04-22 20:30:28 -07:00
Ivan Zhukov
8cb45392c1
Propagate a CSV delimiter to non-basic DataTypes
2018-04-22 20:30:07 +03:00
Ivan Zhukov
e402ff3f81
Unify string checks with a new type
2018-04-22 02:42:01 +03:00
Ivan Zhukov
e84263eb3b
Add a SettingChar type
2018-04-22 02:42:00 +03:00
Ivan Zhukov
a138ab2820
Add CSV delimter support in CSVRowOutputStream
2018-04-22 02:08:50 +03:00
Ivan Zhukov
91cb03bdaf
Add delimiter support in CSVRowInputStream
2018-04-22 02:08:31 +03:00
Ivan Zhukov
1fc6bb6ffe
Add a CSV delimiter setting
2018-04-22 01:20:39 +03:00
Alexey Milovidov
499b67642f
Allow to startup with replicated tables in readonly mode when there is no ZooKeeper configured [#CLICKHOUSE-2]
2018-04-21 21:41:06 +03:00
Alexey Milovidov
5ba5e80846
Added correct code #2257
2018-04-20 22:45:23 +03:00
alexey-milovidov
60fade5de8
Revert "ISSUES-1885 UTF8 countCodePoints use SIMD"
2018-04-20 22:18:24 +03:00
Alexey Milovidov
c087449023
Fixed error #2246
2018-04-20 22:14:04 +03:00
Alexey Milovidov
ac48e1e911
Fixed error #2246
2018-04-20 20:34:09 +03:00
alexey-milovidov
21a5d2dfde
Update Macros.h
2018-04-20 19:10:26 +03:00
alexey-milovidov
c783a69d6b
Update Macros.cpp
2018-04-20 19:10:26 +03:00
Kirill Shvakov
918dbc2902
#2249 allow macros while creating kafka engine
2018-04-20 19:10:26 +03:00
Ivan He
c94b0a1960
fix typo of struct name
2018-04-20 16:27:48 +03:00
Alexey Milovidov
6b88a2a7a5
Better info in log #2246
2018-04-20 04:14:04 +03:00
Alexey Milovidov
70be882b64
Renamed PK to Key where it's appropriate #2246
2018-04-20 03:27: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
207a8cc03c
Fixed error with Sets, part 2 #2246
2018-04-20 00:36:58 +03:00
Alexey Milovidov
ce0ac3f8f8
Fixed error with Sets, part 2 #2246
2018-04-20 00:34:04 +03:00
Alexey Milovidov
fee22dac33
Merge branch 'master' of github.com:yandex/ClickHouse
2018-04-19 23:34:23 +03:00
Alexey Milovidov
c0978919e3
Fixed error with partition key IN, part 1 #2246
2018-04-19 23:34:02 +03:00
Alexey Milovidov
a6c194fa6d
Insignificant change #2246
2018-04-19 23:32:56 +03:00
张健
e9b03b3abc
ISSUES-2242 add default data_path & metadata_path for system.tables with temporary ( #2243 )
2018-04-19 23:22:08 +03:00
Vitaliy Lyudvichenko
a29a99b7d3
Add test for ZooKeeperImpl with watch and chroot. [#CLICKHOUSE-2]
2018-04-19 22:40:42 +03:00
Alexey Milovidov
9a05dd6161
ZooKeeperImpl: fixed error with watches and chroot [#CLICKHOUSE-2]
2018-04-19 22:21:37 +03:00
Alexey Milovidov
12e33cfd85
Exit from threads when ZooKeeper session is expired (non significant change) [#CLICKHOUSE-2]
2018-04-19 21:16:18 +03:00
Alexey Milovidov
da94c7dd91
Exit from queueUpdatingThread when ZooKeeper session is expired (non-significant change) [#CLICKHOUSE-2]
2018-04-19 21:01:50 +03:00
Silviu Caragea
32dd4554da
Merge remote-tracking branch 'github/master' into background-schedule-pool-fix
...
# Conflicts:
# dbms/src/Storages/StorageReplicatedMergeTree.cpp
2018-04-19 09:29:49 +03:00
Alexey Milovidov
f9da1fce37
Addition to prev. revision #2164
2018-04-19 08:54:16 +03:00
Alexey Milovidov
41428e4a11
Allowed to read files by table function "file" inside "user_files_path" #2164
2018-04-19 08:32:09 +03:00
alexey-milovidov
08dfd8a09b
Merge pull request #2164 from topvisor/add_table_function_file
...
Add table function file
2018-04-19 07:53:49 +03:00
alexey-milovidov
565c31c0fb
Update TableFunctionFile.cpp
2018-04-19 07:46:29 +03:00
alexey-milovidov
8f5436e8b0
Update StorageFile.cpp
2018-04-19 07:39:48 +03:00
alexey-milovidov
4b3aa3fc11
Update StorageFile.cpp
2018-04-19 07:39:16 +03:00
alexey-milovidov
19f918512b
Update StorageFile.cpp
2018-04-19 07:36:08 +03:00
Alexey Milovidov
ef14902ef9
Style #1925
2018-04-19 07:25:08 +03:00
Alexey Milovidov
6388c916de
Fixed style; added a comment about terribly wrong code [#CLICKHOUSE-2]
2018-04-19 07:23:58 +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
Alexey Milovidov
67c451e9cf
Miscellaneous #2134
2018-04-19 06:08:22 +03:00
alexey-milovidov
b23db369f4
Merge pull request #2134 from zhang2014/fix/union_syntax
...
ISSUES-2133 Support union query with subquery
2018-04-19 05:42:52 +03:00
Alexey Milovidov
cce4c8886c
Removed obsolete code #2226
2018-04-19 00:23:55 +03:00
Alexey Milovidov
b4bf2f0c09
Added comment [#CLICKHOUSE-2]
2018-04-19 00:14:47 +03:00
Alexey Milovidov
a55abd0a25
Fixed test [#CLICKHOUSE-2]
2018-04-18 23:27:27 +03:00
Alexey Milovidov
b6fcb808fe
Updated old code [#CLICKHOUSE-2]
2018-04-18 23:18:18 +03:00
Alexey Milovidov
3eff0184fa
Added set size checking when set from subquery is used for index; removed harmful feature for special support of (a, b) IN (SELECT (a, b)) instead of (a, b) IN (SELECT a, b) [#CLICKHOUSE-2]
2018-04-18 22:38:40 +03:00
Alexey Milovidov
3bb2fa4702
Fixed bad code [#CLICKHOUSE-2]
2018-04-18 21:44:02 +03:00
alexey-milovidov
22f7a3a545
Merge pull request #2223 from sundy-li/master
...
Fix:ignore the format_version check when the data is empty
2018-04-17 22:50:26 +03:00
alexey-milovidov
089e71d9a5
Merge pull request #2235 from yandex/small-enhancements
...
Small enhancements
2018-04-17 22:45:01 +03:00
Vitaliy Lyudvichenko
400ad55754
Support allow_databases in distributed DDL. [#CLICKHOUSE-3]
...
Resolves #2189
2018-04-17 22:33:58 +03:00
Vitaliy Lyudvichenko
bf832b3ea6
Fixed OPTIMIZE after RENAME of replicated table. [#CLICKHOUSE-2]
2018-04-17 20:59:42 +03:00
Vitaliy Lyudvichenko
5536bf202c
Allow SELECT FROM system.processes while max_queries limit is exceeded. [#CLICKHOUSE-3670]
2018-04-17 20:08:15 +03:00
Vitaliy Lyudvichenko
604c7071c3
Fixed a long lock of ProcessList when KILL QUERY is called. [#CLICKHOUSE-3706]
2018-04-17 18:16:32 +03:00
Vitaliy Lyudvichenko
f642d0828e
Avoid freezing of KILL QUERY. [#CLICKHOUSE-3706]
2018-04-17 17:29:52 +03:00
proller
27b4af9dd7
Change obsolete comment
2018-04-16 23:25:07 +03:00
alexey-milovidov
17dd218338
Merge pull request #2202 from proller/fix15
...
CLICKHOUSE-3700: Fix empty password on replica query
2018-04-16 23:18:47 +03:00
proller
42cb1540a1
Update ClientInfo.h
2018-04-16 23:12:44 +03:00
Nikolai Kochetov
d9ab10634a
fix build
2018-04-16 18:39:12 +03:00
Nikolai Kochetov
9e05052c2a
merged with master
2018-04-16 18:35:11 +03:00
Nikolai Kochetov
7b8a306e34
minor fixes
2018-04-16 18:11:13 +03:00
sundy-li
12211ffc5b
Fix:ignore the format_version check when the data is empty
2018-04-16 18:04:59 +08:00
proller
0114b69f61
Fix build
2018-04-13 23:16:12 +03:00
proller
f9cd6a09e6
sql: initial EXTRACT(... FROM ...) support ( #2196 )
...
* start
* wip
* wip
* wip
* wip
* wip
* Fix clickhouse-server.postinst
* clean
* wip
* clean
* clean
* clean
* wip
* clean
* Update dump_variable.cpp
2018-04-13 22:35:08 +03:00
proller
5b19d89133
Add git hash to version info
2018-04-13 15:42:35 +03:00
proller
4034fcecf3
Merge remote-tracking branch 'upstream/master' into fix15
2018-04-10 21:27:21 +03:00
proller
0c2ba39978
Debian: Try make compatible package depends ( #2194 )
...
* 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
* Fix clickhouse-server.postinst
* Debian: Try make compatible package depends
* Try fix fail on travis tests fail
* Try fix package
* Fix ssl test
* fix
* fix
* wip
* try fix
* clean
* fix
2018-04-10 11:25:08 -07:00
Alexey Milovidov
2392f87dca
ZooKeeper: Fixed error [#CLICKHOUSE-2]
2018-04-10 19:48:43 +03:00
proller
157067b127
CLICKHOUSE-3700: Fix empty password on replica query
2018-04-10 17:49:52 +03:00
Silviu Caragea
f1b8d4bc39
Merge remote-tracking branch 'github/master' into background-schedule-pool-fix
2018-04-10 16:27:17 +03:00
Silviu Caragea
c547c5a7b0
Merge remote-tracking branch 'origin/background-schedule-pool-fix'
...
# Conflicts:
# dbms/src/Common/ZooKeeper/LeaderElection.h
# dbms/src/Common/ZooKeeper/ZooKeeper.cpp
# dbms/src/Storages/MergeTree/ReplicatedMergeTreeAlterThread.cpp
# dbms/src/Storages/MergeTree/ReplicatedMergeTreeCleanupThread.cpp
# dbms/src/Storages/MergeTree/ReplicatedMergeTreeCleanupThread.h
# dbms/src/Storages/MergeTree/ReplicatedMergeTreePartCheckThread.cpp
# dbms/src/Storages/MergeTree/ReplicatedMergeTreeRestartingThread.cpp
# dbms/src/Storages/StorageReplicatedMergeTree.cpp
2018-04-10 16:20:14 +03:00
decaseal
c641a6cd57
table function file - remove unnecessary includes [#add_table_function_file]
2018-04-10 11:59:53 +03:00
decaseal
40b41c3c6e
storage file - change error code [#add_table_function_file]
2018-04-10 11:54:31 +03:00
decaseal
e8ae0343ed
Merge remote-tracking branch 'yandex/master' into add_table_function_file_dev
2018-04-10 10:30:46 +03:00
decaseal
50f65890dc
table function file - use only FileStorage [#add_table_function_file]
2018-04-10 10:28:57 +03:00