Commit Graph

799 Commits

Author SHA1 Message Date
Alexey Milovidov
feea8996d5 Miscellaneous [#CLICKHOUSE-2]. 2017-11-20 07:46:00 +03:00
Alexey Milovidov
87ff2f35ec Miscellaneous [#CLICKHOUSE-2]. 2017-11-20 07:41:56 +03:00
Alexey Milovidov
b3f6844171 Merge remote-tracking branch 'origin/master' into unify-data-types-that-serialized-with-multiple-streams 2017-11-20 07:18:37 +03:00
Alexey Milovidov
01e8adbfff Removed "experimental" namespace [#CLICKHOUSE-2]. 2017-11-20 07:15:43 +03:00
Alexey Milovidov
2ca6952deb Merge branch 'master' into unify-data-types-that-serialized-with-multiple-streams 2017-11-20 02:16:18 +03:00
alexey-milovidov
fc0a51f1b9
Merge branch 'master' into fix4 2017-11-19 23:57:44 +03:00
alexey-milovidov
942e59d459
Merge pull request #1455 from yandex/fix-mv-populate
Fix applying WHERE clause in MATERIALIZED VIEW with POPULATE
2017-11-19 23:01:23 +03:00
Alexey Milovidov
7c9ba15ba1 Style [#CLICKHOUSE-2]. 2017-11-17 23:42:03 +03:00
proller
79b3ef2f57 Merge remote-tracking branch 'upstream/master' into fix4 2017-11-17 15:31:13 +03:00
alexey-milovidov
e6f1262409 Update SummingSortedBlockInputStream.h 2017-11-16 23:48:39 +03:00
alexey-milovidov
ff93d38add Update SummingSortedBlockInputStream.h 2017-11-16 23:48:39 +03:00
Vitaliy Lyudvichenko
ab0aff8709 Fixed SummingMergeTree. [#CLICKHOUSE-2] 2017-11-16 23:48:39 +03:00
Marek Vavruša
64a892c0e6 DataStreams: CapnProto uses <format_schema_path> config option
This addresses one of the remarks in the PR.

All format schemas are required to be in the <format_schema_path> directory.
This makes loading schema files less tedious, as the path can be omitted.
2017-11-15 23:17:22 +03:00
proller
468e2ab044 Merge remote-tracking branch 'upstream/master' into fix4 2017-11-14 14:50:19 +03:00
Alexey Milovidov
60477a9aaa Enhanced time zones support: the DateTime data type can track time zone [#CLICKHOUSE-3402]. 2017-11-09 22:25:21 +03:00
Alexey Zatelepin
d6b82a28fd clone query when populating MaterializedView so that it is not garbled [#CLICKHOUSE-3412] 2017-11-05 20:50:12 +03:00
proller
6e3ca916d9 Fix atomic usage 2017-11-01 16:35:34 +03:00
proller
9bc029ba17 Merge remote-tracking branch 'upstream/master' into fix4 2017-11-01 14:43:48 +03:00
Alexey Milovidov
175af4b2e9 Removed copy-paste [#CLICKHOUSE-2]. 2017-11-01 06:09:06 +03:00
proller
47eae26d75 Fix build 2017-10-31 22:19:36 +03:00
proller
5d137e22eb More atomics 2017-10-30 17:38:16 +03:00
Marek Vavruša
c44e3e76c8 Renamed CapnProtoInputStream to CapnProtoRowInputStream. 2017-10-27 23:03:51 +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
Vitaliy Lyudvichenko
a0d06c5ee0 Don't deduplicate a block inserted from MV if the source block is Ok. [#CLICKHOUSE-3381] 2017-10-26 17:58:00 +03:00
Marek Vavruša
c0458999f9 SummingSortedBlockInputStream: fix summing of multiple blocks
Previously the destination columns were only computed for the first
block, so that subsequently written blocks failed to write
aggregation results to corrent columns.
2017-10-25 22:21:59 +03:00
Marek Vavruša
e936c4d066 AggregateFunctionSum: implemented sumWithOverflow(x)
By default sum(x) promotes the result type to
largest possible integral type to avoid
arithmetic overflow when summing values from
smaller data types.

This is generally desirable behaviour, but it doesn’t
work with summing merge tree, as the result is
expected to be of same type as the input.
2017-10-25 22:21:59 +03:00
Marek Vavruša
5c87a91aaf SummingSortedBlockInputStream: fix explicitly configured columns to sum
This fixes a variant of SummingMergeTree() in which
the columns to sum are explicitly configured.
Previously columns not in that list were ignored,
instead of writing last value.

This also fixes summation of invalid maps with
with only one key column and no value columns.

Modified test to work around compaction limitation
in which a zero-value column isn’t compacted
immediately if the inputs are non-zero but the
output is zero (+1 -1).
2017-10-25 22:21:59 +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
alexey-milovidov
5bfb4c213c Update JSONEachRowRowInputStream.cpp 2017-10-23 20:47:33 +03:00
Marek Vavruša
6be0ffd943 DataStreams/JSONEachRow: read exact number of rows
When using a LIMIT to reduce the number of rows
read, JSONEachRow format would always read an
extra row as it triggered a scan to seek the
EOF or beginning of the next row. This is not
an issue with physical tables, but it is
for streaming tables as an extra row is
unintentionally consumed on each read.
2017-10-23 20:47:33 +03:00
Marek Vavruša
927c0f7b74 dbms: Partially revert previous change
Instead of trying to convert long/unsigned long to Poco types, just
don't use them.
2017-10-13 23:46:10 -07:00
Marek Vavruša
8a0571af24 dbms: Better fix for missing unsigned long to Poco::UInt64 alias 2017-10-13 21:39:14 -07: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
Marek Vavruša
2ac5a743cc dbms: fix build with OS X built-in clang
The built-in clang doesn’t support value() for
`std::experimental::optional`. It however supports
dereference operator, which is basically the
same thing:

```
/clickhouse/dbms/src/DataStreams/NullableAdapterBlockInputStream.cpp:83:67: error: call to unavailable member function 'value':
                    res.insert({elem.column, elem.type, rename[i].value()});
                                                        ~~~~~~~~~~^~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/experimental/optional:547:17: note: candidate function has been explicitly made unavailable
    value_type& value()
                ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/experimental/optional:539:33: note: candidate function has been explicitly made unavailable
    constexpr value_type const& value() const
```
2017-10-13 18:12:29 -07:00
alexey-milovidov
9ccdb5420b Merge branch 'master' into upstream-add-kafka 2017-10-13 23:52:42 +03:00
Marek Vavruša
41b0bea84c SummingSortedBlockInputStream: use a separate structure for MapDescription 2017-10-13 21:51:03 +03:00
Marek Vavruša
39a5ae97c9 SummingSortedBlockInputStream: added comments, destructor for state 2017-10-13 21:51:03 +03:00
alexey-milovidov
d561d8d701 Update SummingSortedBlockInputStream.cpp 2017-10-13 21:51:03 +03:00
alexey-milovidov
a2fa58a2e4 Update SummingSortedBlockInputStream.cpp 2017-10-13 21:51:03 +03:00
alexey-milovidov
fee883d7c5 Update SummingSortedBlockInputStream.cpp 2017-10-13 21:51:03 +03:00
Marek Vavruša
2edf5492d0 AggregateFunctionSumMap: support variardic arguments, specialized keys
The function is rewritten to avoid allocations on every insert with
Field deserialising each array. The key type is now specialized,
so it can be accessed directly. The value type is variant type,
but only individual values are deserialised (which is cheap, since they're PODs).
The function also support summing of multiple columns by the same key.

The SummingSortedBlockInputStream uses the function in case of
Nested structure with one numeric key and many values to sum.
2017-10-13 21:51:03 +03:00
Marek Vavruša
be2faa82ff DataStreams/test: test case for nested field with two arrays for summing 2017-10-13 21:51:03 +03:00
Marek Vavruša
c09a43a7b2 DataStreams/SummingSortedBlockInputStream: use builtin aggregated functions
This replaces custom summation function implementations with an implementation
using built-in aggregation functions (sum and sumMap). The goal is to be able to
use specialized variants of aggregation functions, and to have a single
efficient implementation.
2017-10-13 21:51:03 +03:00
Marek Vavruša
c9be3719bc DataStreams/tests: add SummingSortedBlockInputStream test variant
This is basically useful for testing SummingSortedBlockInputStream
against the AggregatingBlockInputStream, which are used in the
{Summing,Aggregating}MergeTree table engines respectively.
2017-10-13 21:51:03 +03:00
Alexey Milovidov
e57e79a5ff Proper fix for the issue: better exception message [#CLICKHOUSE-2]. 2017-10-12 22:56:47 +03:00
proller
cbc81a6a9f Received signal Segmentation fault (#1300) (#1302)
* Received signal Segmentation fault (#1300)

* Add test
2017-10-12 22:46:40 +03:00
proller
1505ad6bac Executable dictionaries: fail if program returns non zero exit code (#CLICKHOUSE-3171) 2017-10-12 22:36:27 +03:00
Marek Vavruša
4fb570fa5e IStorage: allow notification on dependency change
This allows sending notifications to supported
table engines when their dependencies change.
For example, a table can be notified when a
MATERIALIZED VIEW is attached to it.

This is a building block for building pipelines.
2017-10-10 08:33:00 -07:00