Commit Graph

240 Commits

Author SHA1 Message Date
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
a9e0b6de9f Use system LLVMConfig.cmake with minor tweaks.
Should fix Travis build, finally.
2018-04-26 22:45:39 +03:00
pyos
854f85dd9b Put #if USE_EMBEDDED_COMPILER in ExpressionJIT.{cpp,h} 2018-04-25 18:19:22 +03:00
pyos
3789eba5c4 Fix CMakeFiles syntax 2018-04-25 13:37:26 +03:00
pyos
2b1be27b1b Add missing option to CMakeFiles.txt 2018-04-25 13:37:26 +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
Alexey Milovidov
3f264f07e9 Removed excessive library dependencies #2180 2018-04-07 05:29:12 +03:00
proller
e933d1a1ee
Cmake fixes (#2177)
* cmake fixes

* Fix test server config
2018-04-06 05:07:40 -07:00
Vitaliy Lyudvichenko
ce8de108ed Better timeouts handling. [#CLICKHOUSE-2] 2018-04-04 22:44:38 +03:00
proller
e58b0830e6
Prepare to new poco (PocoData renamed to PocoSQL) (#2158) 2018-04-03 04:48:40 -07:00
proller
caf83a650e libs: compiling with msvc2017 (#1996)
* Allow use bundled *ssl library

* fix

* Add submodule

* Fixes

* fix

* fixes

* fixes

* fix

* fix

* update poco

* fix warnings

* fix

* fix

* Build fixes

* Build fixes

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* add bat

* no zookeeper in dbms

* update boost

* fixes

* fixes

* fix

* fix

* fix

* fix

* try fix

* try fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* Better

* fix

* dh verbose

* fix

* dh verbose

* fix

* clean

* Update LocalDate.h

* Update LocalDateTime.h
2018-03-23 19:05:14 +03:00
Alexey Milovidov
651a312896 Added ProfileEvent for table function executions [#CLICKHOUSE-3615] 2018-03-02 08:03:28 +03:00
proller
f749405bf0 libressl as submodule (#1983)
* Allow use bundled *ssl library

* fix

* Add submodule

* Fixes

* fix

* fixes

* fixes

* fix

* fix

* update poco

* fix warnings

* fix

* fix
2018-03-02 03:17:25 +03:00
proller
d6a1f8470f CLICKHOUSE-3553 Rebuild loggers on every config change (#1973)
* Macos test fix

* Fix freebsd build

* CLICKHOUSE-3553 Rebuild loggers on every config change

* rename clickhouse_common_configprocessor -> clickhouse_common_config; move Server/ConfigReloader.cpp -> Common/Config/

* CLICKHOUSE-3553 Set new level to all loggers on reload

* Dont use hash

* Update BaseDaemon.h
2018-02-28 23:34:25 +03:00
proller
0e7c49fe9b
Build fixes (#1970)
* Macos test fix

* Fix freebsd build
2018-02-27 20:17:02 +03:00
proller
cf9a33d04f CLICKHOUSE-3600 Use correct lld version, cmake fixes (#1968)
* Allow build without rt library

* fix

* Cmake misc

* CLICKHOUSE-3600 Use correct lld version

* CLICKHOUSE-3600 Use correct lld version

* Use libllvm same version as clang

* fix

* Fix build with iodbc

* Fix iodbc build

* Fix gold find

* Fix empty lines
2018-02-26 21:34:22 +03:00
proller
63b3bccb04 Test and build fixes (#1822)
* Fix travis

* try

* try

* Disable macos

* Travis enable macos

* Fix

* fast_finish: true

* fix

*  fxi

* fix openssl

* fix

* fix

* Fix

* try travis

* fix

* fix

* Cmake: dont filter platform-depended files in cmake

* misc

* renamed:    tests/server_wrapper.sh -> tests/clickhouse-test-serve

* install clickhouse-test-server

* clickhouse-test-server wip

* wip
2018-01-26 12:03:38 +03:00
proller
c430af5fb8 Freebsd fixes 2018-01-21 02:23:19 +03:00
proller
ee8272561a
More builder fixes (#1801)
* fix boost

* Fix gtest

* fix gtest

* fix

* fix gtest

* fix
2018-01-20 05:35:16 +03:00
proller
d97b2edc7c Make separate libs Common/ZooKeeper and Common/ConfigProcessor (#1749)
* Make separate libs Common/ZooKeeper and Common/ConfigProcessor
renamed:    dbms/src/Common/StringUtils.h -> dbms/src/Common/StringUtils/StringUtils.h

* Fix space

* Fix data in system.build_options

* merge

* merge
2018-01-15 22:07:47 +03:00
proller
f6d8436f81 Enable travis (#1772)
* Try travis

* wip

* Try travis

* try

* try

* try

* try

* Revert "try"

This reverts commit 7ecd73c2eb.

* try unbundled

* Try unbundled2

* Try undundled3

* Try unbundled4

* Try5

* try gcc7

* try6

* Try clang

* Try min

* try ccache

* try ccache stats

* no sudo

* try clang

* try ccache

* reset changelog

* Try fix clang

* try limit time

* Faster

* try timeout

* try faster

* Try

* try

* try

* try

* try

* try

* ccache

* Fix

* try test

* try test

* Fix try_listen in some vm's

* fix

* test

* fix

* cache timeout

* packages

* fix

* fix

* fix

* try emb compiler

* Try emb compiler

* Revert "try emb compiler"

This reverts commit 471713cabe.

* try

* Revert "Try emb compiler"

This reverts commit 95e632abf6.

* Skip long

* fix

* fix

* ccache

* fix

* debug

* Fxi test

* test fix

* tes fix

* Fix

* Fix link

* Fix odbc link

* Fxi test

* fix  boost unbundled include

* fix test

* fix test

* test fix

* fix tests

* tests

* Test fail
2018-01-15 21:57:10 +03:00
proller
b026eb7797 Use submodule contrib/capnproto, remove include_directories (#1746)
* Add submodule contrib/capnproto

* Use contrib/capnproto, remove include_directories

* Fix include

* Clean

* Fix werror

* Update doc

* Fix

* Final fix

* Fxi
2018-01-11 21:39:52 +03:00
Alexey Milovidov
996eafada9 Revert "Remove hard-coded paths in Interpreters/Compiler.cpp"
This reverts commit 3a97fbd0e7.
2018-01-09 20:49:25 +03:00
proller
694c6ed243 Cmake: move all gtest stuff to one place in dbms/CMakeLists.txt 2018-01-09 20:29:17 +03:00
Roman Tsisyk
3a97fbd0e7 Remove hard-coded paths in Interpreters/Compiler.cpp
Interpreters/Compiler.cpp contained hard-coded paths for system's
includes needed for query compiler. These paths were not portable
between different Linux distros and gcc/clang versions. For example,
Debian/Ubuntu use /usr/lib/gcc/x86_64-linux-gnu/*/include,
RHEL/Fedora use /usr/lib/gcc/x86_64-redhat-linux/*/include,
others use /usr/lib/gcc/*/include (without x86_64-XXX triplet).

Patch 68850012b "Embedded compiler fixes" attempted to fix this problem
by adding CMAKE_LIBRARY_ARCHITECTURE after /usr/lib. Unfortunally,
CMAKE_LIBRARY_ARCHITECTURE is not defined on RHEL/Fedora because someone
decided to omit "-gnu" from x86_64-redhat-linux (see RHBZ#1531678).

Patch 70e35d0bc "Build fixes (#1718)" added a workaround for
undefined CMAKE_LIBRARY_ARCHITECTURE on RHEL/Fedora, but hasn't fixed
problem with missing /usr/lib/gcc/x86_64-redhat-linux/*/include/
in the list of hardcoded paths.

Remove hard-coded paths and get the list of `-isystem` includes directly
from bundled clickhouse-clang.

Other changes:

- Enable RPATH for the build directory to get working binaries
  without installing them by `make install`.
2018-01-09 20:24:25 +03:00
Alexey Milovidov
104b09604a Merging [#CLICKHOUSE-3114] 2017-12-28 00:45:05 +03:00
proller
f9d3c01a01 Add package clickhouse-test, allow testing in pbuilder (#1709)
* Allow 32bit build (with warning)

* Add package clickhouse-test

* Test fixes

* fix

* fix

* clickhouse-test: aloow work in read-only queries dir (--tmp)

* Fix test
2017-12-27 22:01:57 +03:00
Alexey Milovidov
f87cc75734 Fixed build [#CLICKHOUSE-2]. 2017-12-24 13:12:49 +03:00
Alexey Milovidov
acb341b2c9 Unification of aggregate function combinators [#CLICKHOUSE-3511]. 2017-12-24 09:50:11 +03:00
Alexey Milovidov
d7a36519da Simplification of aggregate functions: development [#CLICKHOUSE-2]. 2017-12-21 05:08:25 +03:00
proller
741117a390
Fix freebsd build. Little cmake fixes. (#1634) 2017-12-13 22:07:12 +03:00
Alexey Milovidov
1b60106333 Simplification of Nullable [#CLICKHOUSE-2] 2017-12-08 09:58:48 +03:00
Alexey Milovidov
28d40e2c9a Enabled -Wextra [#CLICKHOUSE-2]. 2017-12-02 06:39:38 +03:00
Alexey Milovidov
c748493a86 Better [#CLICKHOUSE-2]. 2017-12-02 05:47:12 +03:00
Alexey Milovidov
f5ecb2db5d Better [#CLICKHOUSE-2]. 2017-12-01 20:49:12 +03:00
Roman Lipovsky
9ed1ba2441 separate geo dictionaries from geo data providers 2017-11-29 01:15:06 +03:00
proller
0d3c4f4d67 Core/FieldVisitors.h -> Common/FieldVisitors.h
Core/Progress.h -> IO/Progress.h
    tests: sudo --non-interactive
    Fix freebsd link
2017-11-24 16:55:31 +03:00
proller
2778f35e48 Lib Parsers 2017-11-21 22:35:54 +03:00
proller
19d102cc4f fix 2017-11-17 22:53:02 +03:00
proller
5ba7e20c03 fixes 2017-11-17 22:40:27 +03:00
proller
aa3dd03389 Split lib dbms to dbms + dbms_common_io 2017-11-17 22:19:49 +03:00
Marek Vavruša
0d942a69c5 DataStreams: added Cap’n Proto format support
Cap'n Proto is a binary message format.
Like Protocol Buffers and Thrift (but unlike JSON or MessagePack), Cap'n Proto messages are strongly-typed and not self-describing. Due to this, it requires a schema setting to specify schema file and the root object. The schema is parsed on runtime and cached for each SQL statement.
2017-10-27 23:03:51 +03:00
Alexey Zatelepin
6ada6d9aa5 remove dead code [#CLICKHOUSE-2] 2017-10-26 07:53:52 +03:00
Alexey Zatelepin
01c39dcf1c fix CREATE TABLE bugs and idiosyncrasies: [#CLICKHOUSE-3000]
* fix segfault on ATTACH MATERIALIZED VIEW
* allow only TEMPORARY TABLEs (not databases or views)
* forbid choosing ENGINE for TEMPORARY tables
* fix segfault on CREATE TABLE t1 AS t2 where t2 is a View
2017-10-26 07:53:52 +03:00
proller
4ffbca2d8c Fix warnings (#1406)
* Log query id in executeQuery; Better type mismatch error; change format in report tool

* Better log query_id

* fix message

* Use c++11 thread_local instaed of gcc's __thread

* lock mutex before notifying waiting thread in sync insertion into distributed [#CLICKHOUSE-3379]

* Cmake: fix build without downloaded submodules (#1379)

* fix

* ZooKeeper: fixed stack smashing with tryGet()

The tryGet() operation creates a 1MB buffer on stack. This may or
may not work depending on the default stack size for threads,
whether the stack protector is enabled or not, recursion depth,
and the actual value size.

This is probably going to slow down some ZK operations, but I don't
see how else this could work reliably with the existing API.

* increased timeout for test_insertion_sync_fails_with_timeout

* Update CHANGELOG_RU.md

* Update ZooKeeper.cpp

* Fix warnings

* Fixes

* Dont strip debug info from  asan, tsan and other builds except releases

* Fix asan error causd by test 00144

* Fix empty log message (#CLICKHOUSE-3378)
2017-10-25 21:39:10 +03:00
alexey-milovidov
8c327e9378 Revert "Make gperftools (libtcmalloc) as submodule and update. (#1381)"
This reverts commit fa2484ea90.
2017-10-24 22:18:15 +03:00
proller
fa2484ea90 Make gperftools (libtcmalloc) as submodule and update. (#1381)
* Update tcmalloc and make submodule

* wip

* wip

* wip

* wip

* clean

* fix

* fix

* fix

* Fix tests
2017-10-24 22:11:42 +03:00
proller
2d2a4afa3f Fix stripping debug info from huge .o (-g0) 2017-10-24 16:30:44 +03:00
Marek Vavruša
70543200be dbms: Fix build with clang after Poco update
In the current version of Poco, unsigned long no longer aliases to
UInt64 with LP64. The size_t aliases to unsigned long with clang,
so all the uses of size_t instead of UInt64 when interacting with
Poco interfaces are gone. I replaced uses with UInt64 where it makes
sense, and added an overloaded function for readVarUInt() to support size_t.
2017-10-13 18:26:24 -07:00
proller
4c7850fdc2 Optional kafka (#1355)
* Zookeeper include fix

* Update submodule contrib/poco

* Fix zookeeper submodule ho-to-make doc

* Update zookeeper submodule

* Update submodule zookeeper

* Fix compile with external zookeeper

* Optional kafka

* fix

* Fix

* fix
2017-10-14 03:53:01 +03:00