Commit Graph

8276 Commits

Author SHA1 Message Date
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
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
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
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
decaseal
a2db6db50c table function file - use only FileStorage [#add_table_function_file] 2018-04-10 10:26:33 +03:00
decaseal
279fa17ff6 storage file - fix check creation is allowed [#add_table_function_file] 2018-04-10 10:09:50 +03:00
Alexey Milovidov
d3cf85057b Removed useless code [#CLICKHOUSE-2] 2018-04-09 18:49:12 +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
f02239a307 Fixed linkage of tests [#CLICKHOUSE-2] 2018-04-08 07:54:23 +03:00
Alexey Milovidov
79e319a7b6 ZooKeeper: fixed error [#CLICKHOUSE-2] 2018-04-08 07:45:59 +03:00
Alexey Milovidov
a2482f120d Fixed test [#CLICKHOUSE-2] 2018-04-08 07:38:27 +03:00
Alexey Milovidov
86317fe0f9 ZooKeeper: Fixed error [#CLICKHOUSE-2] 2018-04-08 07:25:13 +03:00