Commit Graph

824 Commits

Author SHA1 Message Date
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
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
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
Alexey Milovidov
e272f6d79e Not a fix [#CLICKHOUSE-3650]. 2018-03-16 06:03:17 +03:00
Alexey Milovidov
a16dd1cee7 Little better [#CLICKHOUSE-3650] 2018-03-16 04:22:02 +03:00
Alexey Zatelepin
5906c9a988 rename for clarity 2018-03-13 18:00:28 +03:00
Alexey Milovidov
7577b1db14 Added function "throwIf" [#CLICKHOUSE-2543] 2018-03-10 03:18:57 +03:00
Nikolai Kochetov
871a560b37 merged with master 2018-03-05 15:36:17 +03:00
Alexey Milovidov
63467dbcc2 Fixed error #1947 2018-02-28 22:36:01 +03:00
alexey-milovidov
924cc3451f
Merge pull request #1955 from yandex/CLICKHOUSE-3606
Added consistent hashing functions
2018-02-27 10:52:41 +03:00
Vitaliy Lyudvichenko
cf5c378ed7 Add optimized version of sumbur hash, reduced buckets range. [#CLICKHOUSE-3606] 2018-02-27 03:01:51 +03:00
Alexey Zatelepin
2a56dd075f fix typo 2018-02-26 22:33:16 +03:00
Alexey Zatelepin
1564e31616 check that lengths of arrays passed to arrayReduce() are equal [#CLICKHOUSE-3250] #1142 2018-02-26 19:58:51 +03:00
Vitaliy Lyudvichenko
120530e44c Add requested changes. [#CLICKHOUSE-3606] 2018-02-26 15:14:20 +03:00
Vitaliy Lyudvichenko
077f413a0d Added consistent hashing functions. [#CLICKHOUSE-3606] 2018-02-24 00:22:52 +03:00
Alexey Milovidov
c44108d5eb Allow to CAST Nullable type to non-Nullable as long as there are no NULL values #1947 2018-02-23 00:20:02 +03:00
zhang2014
e1c31494f2 ISSUES-995 resolve some opinions 2018-02-22 13:39:49 +08:00
Alexey Zatelepin
610f70fbeb forbid non-deterministic functions in primary and partition keys [#CLICKHOUSE-3455] 2018-02-21 20:54:16 +03:00
zhang2014
219de205e3 ISSUES-995 fix cut www 2018-02-20 09:34:50 +08:00
zhang2014
bd10613c47 ISSUES-995 support relative path 2018-02-19 19:49:49 +08:00
Alexey Milovidov
95d2d68c7d Header in every stream: development [#CLICKHOUSE-2] 2018-02-18 05:22:32 +03:00
Alexey Milovidov
9e1638e1dd Header in every stream: development [#CLICKHOUSE-2] 2018-02-17 20:09:18 +03:00
Alexey Milovidov
d02874bf54 Header in every stream: development [#CLICKHOUSE-2] 2018-02-17 06:06:01 +03:00
Alexey Milovidov
3204b9688c Header in every stream: development [#CLICKHOUSE-2] 2018-02-17 05:35:09 +03:00
Alexey Milovidov
6f96857427 Header in every stream: development [#CLICKHOUSE-2] 2018-02-17 05:27:34 +03:00
Alexey Milovidov
c320b360c6 Merge branch 'master' of github.com:yandex/ClickHouse into header-in-input-streams 2018-02-16 21:23:29 +03:00
Alexey Zatelepin
87b72b8e39 rename musl_exp10 -> preciseExp10 for coding style compatibility 2018-02-16 17:51:14 +03:00
Alexey Zatelepin
8fdb68ef79 add musl_ prefix to exp10 functions to avoid confusion with symbols from the system libm 2018-02-16 17:01:50 +03:00