Alexey Milovidov
e86f73e465
Fixed half of bad code #2571
2018-07-04 20:28:52 +03:00
Nikolai Kochetov
6e5e57353a
Review fixes. [#CLICKHOUSE-3694] #2156
2018-06-29 19:18:50 +03:00
Amos Bird
900b046943
Add options to enable parsing CSV with single/double quote.
2018-06-29 15:34:55 +08:00
Alexey Milovidov
e051998e1c
Renamed setting "send_logs_level" #2482
2018-06-28 23:11:14 +03:00
Alexey Milovidov
3894f094ea
Fixed setting descriptions #2482
2018-06-28 22:40:18 +03:00
alexey-milovidov
3904ba561f
Merge branch 'master' into CLICKHOUSE-2910
2018-06-28 20:47:25 +03:00
Nikolai Kochetov
bd4a899dd3
Reduced the number of IAST::getColumnName() calls in ExpressionAnalyzer.
2018-06-28 20:25:09 +03:00
Nikolai Kochetov
ebde528506
Create default macros in global context. [#CLICKHOUSE-3793]
2018-06-28 17:11:09 +03:00
Nikolai Kochetov
9f591b8d02
Merged with master.
2018-06-26 17:41:29 +03:00
Nikolai Kochetov
bd7c72de5c
Spelling.
2018-06-25 16:08:35 +03:00
Nikolai Kochetov
ba4cf6faf0
Merged with master.
2018-06-25 15:08:21 +03:00
proller
e1ae5233df
Add // Y_IGNORE tags
2018-06-21 18:24:36 +03:00
Vitaliy Lyudvichenko
1a4157f2a9
clickhouse_common_io does not depend on dbms. [#CLICKHOUSE-2910]
...
Get rid of extra linking dependencies for clickhouse_common_io. [#CLICKHOUSE-2910]
2018-06-21 15:13:56 +03:00
Vitaliy Lyudvichenko
358e4ae9bf
Fixed failures in utils, more precise test. [#CLICKHOUSE-2910]
2018-06-20 18:41:15 +03:00
Vitaliy Lyudvichenko
310bb4116e
Merge remote-tracking branch 'origin/master' into CLICKHOUSE-2910
2018-06-19 23:33:11 +03:00
Vitaliy Lyudvichenko
e13ba09004
Rewritten ThreadStatus via adding shared thread state. [#CLICKHOUSE-2910]
...
Fixed race condition in SystemLog.
2018-06-19 23:30:35 +03:00
proller
fbe7df73a2
CLICKHOUSE-3762 Build fixes ( #2488 )
...
CONTRIB-254
2018-06-19 21:09:09 +03:00
Vitaliy Lyudvichenko
8dc1bebf00
Add logs forwarding from remote severs to client. [#CLICKHOUSE-2910]
2018-06-18 19:30:26 +03:00
Vitaliy Lyudvichenko
392f6e0c6c
Print query_id in logs. Add own logging interface. [#CLICKHOUSE-2910]
2018-06-18 16:41:13 +03:00
alexey-milovidov
e6daa67beb
Merge pull request #1890 from yandex/lz4_experiments
...
Faster LZ4 decompression (experimental) + simple draft of data mutator.
2018-06-16 04:57:47 +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
c9789f985a
Fallback for non x86 [#CLICKHOUSE-2]
2018-06-14 23:16:57 +03:00
Vitaliy Lyudvichenko
4cd230f85c
Merge remote-tracking branch 'origin/master' into CLICKHOUSE-2910
2018-06-14 16:04:00 +03:00
Vitaliy Lyudvichenko
95b42afcb9
Add test for profile events logging. [#CLICKHOUSE-2910]
2018-06-14 14:56:12 +03:00
alexey-milovidov
08ec751a8c
Merge pull request #2504 from yandex/system-mutations-table
...
[WIP] system.mutations table skeleton
2018-06-13 23:00:30 +03:00
Alexey Zatelepin
c5c601f662
save serialized commands in ReplicatedMergeTreeMutationEntry; split InterpreterAlterQuery::parseAlter() [#CLICKHOUSE-3747]
2018-06-13 17:14:08 +03:00
Alexey Zatelepin
14947b494f
make ASTAlterQuery::Parameters a real AST element ASTAlterCommand [#CLICKHOUSE-3747]
2018-06-13 17:13:28 +03:00
Alexey Milovidov
2a30db6b44
Whitespace [#CLICKHOUSE-2]
2018-06-12 06:26:24 +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
d864f39ec7
Merge branch 'master' into zhang2014-feature/support_truncate
2018-06-09 19:10:06 +03:00
Alexey Milovidov
f3d8b4e3cf
Merging: Fixed most of problems #2260
2018-06-09 19:03:07 +03:00
Alexey Milovidov
d56c199f07
Merging: Fixed half of problems #2260
2018-06-09 18:48:22 +03:00
Vitaliy Lyudvichenko
c04dfb40a6
Fixed memory tracking. [#CLICKHOUSE-2910]
2018-06-09 18:29:08 +03:00
Alexey Milovidov
0bc678474e
Merge branch 'feature/support_truncate' of https://github.com/zhang2014/ClickHouse into zhang2014-feature/support_truncate
2018-06-09 17:24:50 +03:00
Vitaliy Lyudvichenko
ed7cd86f09
Fixed several bug. Trun on --server_logs_level=warning in tests. [#CLICKHOUSE-2910]
...
Fixed several test to be compatible with --server_logs_level=warning.
2018-06-08 22:50:15 +03:00
Alexey Milovidov
045d5975b3
Fixed discrepancy between Query, SelectQuery, InsertQuery profile events [#CLICKHOUSE-3769]
2018-06-08 22:32:35 +03:00
Alexey Milovidov
101276e541
Allowed to switch between 'basic' and 'best effort' methods of parsing DateTime from text #1710
2018-06-08 06:15:33 +03:00
Alexey Milovidov
9940b4f8ff
Passing settings to ser/de of data types: development #1710
2018-06-08 05:26:44 +03:00
Alexey Milovidov
26d448baad
Passing settings to ser/de of data types: development #1710
2018-06-08 04:51:55 +03:00
Vitaliy Lyudvichenko
99b68d3cf3
Add more options for loggig. [#CLICKHOUSE-2910]
2018-06-07 21:46:53 +03:00
Vitaliy Lyudvichenko
ac54e52fb3
Add server logs passing to client. [#CLICKHOUSE-2910]
2018-06-07 20:58:50 +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
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
proller
e475647594
Build fix
2018-06-06 23:07:41 +03:00
proller
01a31414eb
Build fixes ( #2474 )
2018-06-06 21:41:39 +03:00
Alexey Milovidov
583b9af56f
Fixed error: user settings don't apply when using session_id parameter [#CLICKHOUSE-3763]
2018-06-06 20:35:35 +03:00
Alexey Milovidov
b9b89a5590
Less dependencies [#CLICKHOUSE-2]
2018-06-05 22:46:49 +03:00
Alexey Zatelepin
2fde0acb36
allow ALTER DELETE in distributed DDL [#CLICKHOUSE-3688]
2018-06-05 16:23:52 +03:00
proller
4d12a823da
Use copy-headers from cmake. (working compiler test without package install) ( #2456 )
...
* Try use copy-headers from cmake [WIP]
* Using internal compiler without install
* 32bit Compile fix
* Fixes
* fix
* clean
* fix
* clean
2018-06-04 23:26:17 +03:00
Alexey Milovidov
ca52d96e09
Insignificant changes for PVS-Studio [#CLICKHOUSE-3]
2018-06-04 22:22:27 +03:00
Alexey Milovidov
df11490b2a
Insignificant changes guided by PVS-Studio [#CLICKHOUSE-3]
2018-06-04 18:45:08 +03:00
Alexey Milovidov
278ccdff73
Non significant change: removed redundant checks [#CLICKHOUSE-3]
2018-06-04 17:17:24 +03:00
Alexey Milovidov
8cb65277e2
Non significant changes according to clang's -Weverything, part 5 [#CLICKHOUSE-2]
2018-06-04 01:11:50 +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
Alexey Milovidov
734cebdf09
Non significant changes according to clang's -Weverything, part 1 [#CLICKHOUSE-2]
2018-06-03 19:51:31 +03:00
Vitaliy Lyudvichenko
b46f2ad946
Simplified code via introducing states. [#CLICKHOUSE-2910]
2018-06-01 22:39:32 +03:00
Vitaliy Lyudvichenko
2b179b560b
Initialize external tables after enqueue query. [#CLICKHOUSE-2910]
2018-06-01 18:32:27 +03:00
Alexey Zatelepin
af06ca5d3c
Merge branch 'master' into replicated-mergetree-mutations
2018-06-01 16:21:14 +03:00
Vitaliy Lyudvichenko
549a6944d9
Better AsynchronousBlockInputStream in sync mode. [#CLICKHOUSE-2910]
2018-06-01 14:58:17 +03:00
Alexey Milovidov
f45c479a8b
Removed wrong query optimization [#CLICKHOUSE-3726]
2018-05-31 21:28:04 +03:00
Vitaliy Lyudvichenko
0355f81f20
[WIP] Introduced query_thread_log. [#CLICKHOUSE-2910]
2018-05-31 18:54:08 +03:00
Alexey Zatelepin
c9bb986330
Merge branch 'master' into replicated-mergetree-mutations
...
Conflicts:
dbms/src/Storages/MergeTree/AbandonableLockInZooKeeper.h
dbms/src/Storages/MergeTree/ReplicatedMergeTreePartCheckThread.cpp
dbms/src/Storages/MergeTree/ReplicatedMergeTreeQueue.cpp
dbms/src/Storages/MergeTree/ReplicatedMergeTreeQueue.h
dbms/src/Storages/StorageReplicatedMergeTree.cpp
2018-05-31 18:52:42 +03:00
alexey-milovidov
cdacf073e8
Merge pull request #2449 from proller/fix15
...
CLICKHOUSE-3587 Always write client error to log
2018-05-30 22:27:21 +03:00
proller
dc721ed721
Try make cache for getSampleBlock ( #2313 )
...
* Cache for getSampleBlock
* Update InterpreterSelectWithUnionQuery.cpp
* Update 00632_get_sample_block_cache.sql
* Add tests
2018-05-30 22:23:15 +03:00
proller
b1f4bf3199
CLICKHOUSE-3587 Always write client error to log
2018-05-30 19:15:35 +03:00
Vitaliy Lyudvichenko
e265e5c2ab
Refactoring. [#CLICKHOUSE-2910]
2018-05-29 21:14:31 +03:00
Vitaliy Lyudvichenko
aa40931824
Merge remote-tracking branch 'origin/master' into CLICKHOUSE-2910
2018-05-28 20:22:27 +03:00
Alexey Zatelepin
f6c72f8e56
Merge branch 'master' into replicated-mergetree-mutations
...
Conflicts:
dbms/src/Common/ActionBlocker.h
dbms/src/Storages/MergeTree/ActiveDataPartSet.cpp
dbms/src/Storages/MergeTree/ActiveDataPartSet.h
dbms/src/Storages/MergeTree/MergeTreeData.h
dbms/src/Storages/MergeTree/MergeTreeDataPart.cpp
dbms/src/Storages/MergeTree/ReplicatedMergeTreeAlterThread.cpp
dbms/src/Storages/MergeTree/ReplicatedMergeTreeLogEntry.cpp
dbms/src/Storages/MergeTree/ReplicatedMergeTreeLogEntry.h
dbms/src/Storages/MergeTree/ReplicatedMergeTreeQueue.cpp
dbms/src/Storages/MergeTree/ReplicatedMergeTreeQueue.h
dbms/src/Storages/MergeTree/ReplicatedMergeTreeRestartingThread.cpp
dbms/src/Storages/StorageMergeTree.cpp
dbms/src/Storages/StorageReplicatedMergeTree.cpp
dbms/src/Storages/StorageReplicatedMergeTree.h
2018-05-28 18:37:30 +03:00
Alexey Zatelepin
59fe12ed15
part log and metrics [#CLICKHOUSE-3747]
2018-05-25 23:13:00 +03:00
Amos Bird
9eec14e9be
Let's make it fancier (function try catch block).
2018-05-25 23:38:57 +08:00
Alexey Milovidov
13762471da
Changed DayNum_t to DayNum as Amos Bird suggested [#CLICKHOUSE-3]
2018-05-25 16:29:15 +03:00
proller
87e8d8be5a
Fix internal compiler includes with new clang ( #2406 )
2018-05-24 15:40:02 +03:00
alexey-milovidov
55cfebc36b
Merge pull request #2395 from yandex/string_range-pointers-comparsion
...
Renamed StringRangeHash to StringRangePointersHash and added StringRa…
2018-05-21 22:42:42 +03:00
Vitaliy Lyudvichenko
c888903488
Add query ALTER TABLE t1 [REPLACE|ATTACH] PARTITION FROM t2
...
* Add ATTACH PARTITION FROM table for MergeTree. [#CLICKHOUSE-3546]
* Implemented replicated case on non-leader replica. [#CLICKHOUSE-3546]
* Disable merges in the dropping range. [#CLICKHOUSE-3546]
* DROP PARTITION is atomic and simpler now. [#CLICKHOUSE-3546]
* Implemented more SYSTEM queries. [#CLICKHOUSE-2931] [#CLICKHOUSE-3546]
SYSTEM queries:
RESTART REPLICAS
SYNC REPLICA db.name
STOP MERGES [db.name]
START MERGES [db.name]
STOP FETCHES [db.name]
START FETCHES [db.name]
STOP REPLICATED SENDS [db.name]
START REPLICATED SENDS [db.name]
STOP REPLICATION QUEUES [db.name]
START REPLICATION QUEUES [db.name]
* Fixed a bunch of bugs in REPLACE PARTITION. [#CLICKHOUSE-3546]
* Add tests for REPLACE PARTITION and SYSTEM. [#CLICKHOUSE-3546]
* Add system.part_log logging. [#CLICKHOUSE-3546]
* Fixed long wait in SYNC REPLICA. [#CLICKHOUSE-3546]
* Add requested changes. [#CLICKHOUSE-3546]
Fixed clickhouse-client bad return code.
* Add requested chenges. [#CLICKHOUSE-3546]
* Add requested chenges. [#CLICKHOUSE-3546]
2018-05-21 16:49:54 +03:00
Nikolai Kochetov
937cb2db29
Merged with master.
2018-05-21 14:38:50 +03:00
Nikolai Kochetov
aeaec2e6d7
Renamed StringRangeHash to StringRangePointersHash and added StringRangePointersEqualTo.
2018-05-21 14:18:11 +03:00
zhang2014
fa865636ce
ISSUES-2259 add comment & move delete database metadata implementation
2018-05-21 11:38:46 +08:00
zhang2014
c8f655c1aa
ISSUES-2259 fix the test after the merge master
2018-05-21 11:38:46 +08:00
zhang2014
6613e56784
ISSUES-2259 support truncate syntax
2018-05-21 11:38:46 +08:00
alexey-milovidov
0fe2984d00
Merge pull request #2388 from yandex/fix-prepared-sets-creation
...
Fix prepared sets creation
2018-05-19 19:03:04 +03:00
alexey-milovidov
517318334a
Merge pull request #1722 from silviucpp/background-schedule-pool-fix
...
Background schedule pool fixed
2018-05-19 19:00:43 +03:00
Vitaliy Lyudvichenko
bd4d8a6766
Add profile events and settings logging. [#CLICKHOUSE-2910]
2018-05-17 19:01:41 +03:00
Nikolai Kochetov
9a1c286ade
Changed prepared set indexation from AST* to StringRange. [#CLICKHOUSE-3734]
2018-05-17 17:54:43 +03:00
Alexey Zatelepin
d31b897ba7
validate mutation commands [#CLICKHOUSE-3688]
2018-05-16 05:46:15 +03:00
Alexey Zatelepin
3b97d3938f
alter delete skeleton [#CLICKHOUSE-3688]
2018-05-16 05:46:15 +03:00
Alexey Milovidov
fb91bba279
Miscellaneous [#CLICKHOUSE-2]
2018-05-16 03:34:56 +03:00
Vitaliy Lyudvichenko
abc73eb6ba
Merge remote-tracking branch 'origin/master' into CLICKHOUSE-2910
2018-05-15 21:35:52 +03:00
Nikolai Kochetov
6715b945d9
Allow using of function which returs tuple for IN. [#CLICKHOUSE-3730]
2018-05-15 18:38:04 +03:00
Nikolai Kochetov
aaad77a602
Fixed unnecessary creation of prepared set for function arguments other than second for in or global in. [#CLICKHOUSE-3730]
2018-05-15 18:38:04 +03:00
Nikolai Kochetov
e6adcfaad5
Fixed element types for explicit set in IN function. [#CLICKHOUSE-3730]
2018-05-15 18:38:04 +03:00
Nikolai Kochetov
651bac519c
Fixed element types for explicit set in IN function.
...
Fixed element types for explicit set in IN function. [#CLICKHOUSE-3730]
2018-05-15 18:38:04 +03:00
sundy-li
2511a4784b
Support data write to StorageMySQL table
2018-05-15 03:02:59 +03:00
Alexey Milovidov
3943cfb11e
Addition to prev. revision [#CLICKHOUSE-2]
2018-05-14 22:14:37 +03:00
Vitaliy Lyudvichenko
de6c48f4df
Merge remote-tracking branch 'origin/master' into CLICKHOUSE-2910
2018-05-14 19:09:00 +03:00
Alexey Milovidov
8690d596b0
Miscellaneous [#CLICKHOUSE-2]
2018-05-13 12:32:56 +03:00
Alexey Milovidov
582085bf15
Be more conservative about new feature #2277
2018-05-11 00:29:44 +03:00
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
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
Vitaliy Lyudvichenko
5704de8774
Fixed settings passing in clickhouse-local and tmp dirs. [#CLICKHOUSE-3713]
2018-05-10 02:15:06 +03:00
Alexey Milovidov
72ab282bca
Removed hack #2277
2018-05-10 00:03:03 +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
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
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
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
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
b8a6261bbc
Style [#CLICKHOUSE-2]
2018-05-07 05:15:47 +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
1dc1ccc1d8
Applied clang-format #2272
2018-05-07 05:08:38 +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
a687c90100
Allow to link with LLVM if it was compiled without RTTI #2277
2018-05-07 03:00:12 +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
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
b1b95454cc
Make warning suppressions more local #2277
2018-05-06 12:29:57 +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
Nikolai Kochetov
530b99cee5
Added ConvertColumnWithDictionaryToFullBlockInputStream.
2018-05-04 14:39:15 +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
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
Tsarkova Anastasia
ba901ebc3f
struct instead of class
2018-05-01 21:18:13 +02: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
Tsarkova Anastasia
210a389592
Getting rid of measure action, other small fixes applied.
2018-04-30 21:33:32 +02: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
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
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
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
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
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
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
Tsarkova Anastasia
12c8014e5c
Conditional computations.
2018-04-24 09:16:39 +02:00
Nikolai Kochetov
7a62bb9267
added comments and fixed tests build
2018-04-23 22:41:10 +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
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
Nikolai Kochetov
7e45661a38
merged with master
2018-04-20 22:51:21 +03:00
Nikolai Kochetov
233ac6c599
style fixes
2018-04-20 22:38:34 +03:00
Alexey Milovidov
c087449023
Fixed error #2246
2018-04-20 22:14:04 +03:00
Nikolai Kochetov
a6375d6155
merged with master
2018-04-20 17:15:03 +03:00
Nikolai Kochetov
f5fe383620
fix build
2018-04-20 17:06:01 +03:00
Alexey Milovidov
6b88a2a7a5
Better info in log #2246
2018-04-20 04:14:04 +03:00