Commit Graph

3581 Commits

Author SHA1 Message Date
Alexey Milovidov
7407a08750 Fix error 2020-07-13 00:44:27 +03:00
Alexey Milovidov
36de452fdd Merge branch 'master' into fix-limit-overflow 2020-07-13 00:24:24 +03:00
Alexey Milovidov
5ef8d49ebe Fix typo 2020-07-12 23:02:51 +03:00
tavplubix
d64e51d1a7
Merge pull request #12421 from azat/lifetime-table-metrics
lifetime_rows/lifetime_bytes for Buffer engine
2020-07-12 19:00:02 +03:00
Amos Bird
cac5a89169
Allow nullable key in MergeTree 2020-07-12 22:21:51 +08:00
Alexey Milovidov
49f60ef3a4 Fix build 2020-07-12 08:26:33 +03:00
Alexey Milovidov
ef930df484 Avoid overflow in LIMIT #10470 #11372 2020-07-12 08:18:01 +03:00
Alexey Milovidov
204a4af394 Rollback insertion error in Log engines #12402 2020-07-12 05:32:18 +03:00
Ivan Babrou
8784994d65 Allow conditions outside of PK with exact range
Conditions that are outside of PK are marked as `unknown` in `KeyCondition`,
so it's safe to allow them, as long as they are always combined by `AND`.
2020-07-11 18:59:26 -07:00
Alexey Milovidov
bc8e7e04df Lower block sizes and look what will happen #9248 2020-07-12 04:05:09 +03:00
alexey-milovidov
26d32f2ce5
Merge pull request #12412 from Jokser/s3-https
S3 HTTPS integration tests
2020-07-12 03:36:37 +03:00
Azat Khuzhin
3bee98c6f0 Fix lifetime_bytes/lifetime_rows for Buffer direct block write 2020-07-12 01:16:05 +03:00
alexey-milovidov
160dcf715d
Merge pull request #12383 from BohuTANG/mysql_write_through_poco_exception
Write through Poco::Exception exception to MySQL protocol client
2020-07-11 23:56:22 +03:00
alexey-milovidov
b1b4f8832d
Merge pull request #12397 from myrrc/bug/part-dict-update
Resolve #12098
2020-07-11 23:07:00 +03:00
Ivan Babrou
d9d8d0242e Optimize PK lookup for queries that match exact PK range
Existing code that looks up marks that match the query has a pathological
case, when most of the part does in fact match the query.

The code works by recursively splitting a part into ranges and then discarding
the ranges that definitely do not match the query, based on primary key.

The problem is that it requires visiting every mark that matches the query,
making the complexity of this sort of look up O(n).

For queries that match exact range on the primary key, we can find
both left and right parts of the range with O(log 2) complexity.

This change implements exactly that.

To engage this optimization, the query must:

* Have a prefix list of the primary key.
* Have only range or single set element constraints for columns.
* Have only AND as a boolean operator.

Consider a table with `(service, timestamp)` as the primary key.

The following conditions will be optimized:

* `service = 'foo'`
* `service = 'foo' and timestamp >= now() - 3600`
* `service in ('foo')`
* `service in ('foo') and timestamp >= now() - 3600 and timestamp <= now`

The following will fall back to previous lookup algorithm:

* `timestamp >= now() - 3600`
* `service in ('foo', 'bar') and timestamp >= now() - 3600`
* `service = 'foo'`

Note that the optimization won't engage when PK has a range expression
followed by a point expression, since in that case the range is not continuous.

Trace query logging provides the following messages types of messages,
each representing a different kind of PK usage for a part:

```
Used optimized inclusion search over index for part 20200711_5710108_5710108_0 with 9 steps
Used generic exclusion search over index for part 20200711_5710118_5710228_5 with 1495 steps
Not using index on part 20200710_5710473_5710473_0
```

Number of steps translates to computational complexity.

Here's a comparison for before and after for a query over 24h of data:

```
Read 4562944 rows, 148.05 MiB in 45.19249672 sec.,   100966 rows/sec.,   3.28 MiB/sec.
Read 4183040 rows, 135.78 MiB in 0.196279627 sec., 21311636 rows/sec., 691.75 MiB/sec.
```

This is especially useful for queries that read data in order
and terminate early to return "last X things" matching a query.

See #11564 for more thoughts on this.
2020-07-11 12:26:54 -07:00
Denis Glazachev
b68d7b6c24
Merge branch 'master' into ldap-per-user-authentication 2020-07-11 21:37:52 +04:00
Denis Glazachev
edb6ef8c09 Merge commit 'ceac649c01b0158090cd271776f3219f5e7ff57c' into ldap-per-user-authentication
* commit 'ceac649c01b0158090cd271776f3219f5e7ff57c': (75 commits)
  [docs] split misc statements (#12403)
  Update 00405_pretty_formats.reference
  Update PrettyCompactBlockOutputFormat.cpp
  Update PrettyBlockOutputFormat.cpp
  Update DataTypeNullable.cpp
  Update 01383_remote_ambiguous_column_shard.sql
  add output_format_pretty_grid_charset setting in docs
  add setting output_format_pretty_grid_charset
  Added a test for #11135
  Update index.md
  RIGHT and FULL JOIN for MergeJoin (#12118)
  Update MergeTreeIndexFullText.cpp
  restart the tests
  [docs] add syntax highlight (#12398)
  query fuzzer
  Fix std::bad_typeid when JSON functions called with argument of wrong type.
  Allow typeid_cast() to cast nullptr to nullptr.
  fix another context-related segfault
  [security docs] actually, only admins can create advisories
  query fuzzer
  ...
2020-07-11 21:32:36 +04:00
Denis Glazachev
2a3a0d47b3 Style fix 2020-07-11 21:31:00 +04:00
Denis Glazachev
3e68368b59 Refactor ExternalAuthenticators configuration process 2020-07-11 21:06:01 +04:00
Vitaly Baranov
fe6122a1dd
Merge pull request #12394 from vitlibar/fix-calculating-implicit-access-rights
Fix calculating implicit access rights
2020-07-11 19:31:56 +03:00
Pavel Kovalenko
d3fa78392e Retrigger CI 2020-07-11 18:35:51 +03:00
Azat Khuzhin
32a45d0dee Implement lifetime_rows/lifetime_bytes for Buffer engine
Buffer engine is usually used on INSERTs, but right now there is no way
to track number of INSERTed rows per-table, since only summary metrics
exists:
- StorageBufferRows
- StorageBufferBytes

But it can be pretty useful to track INSERTed rows rate (and it can be
exposed via http_handlers for i.e. prometheus)
2020-07-11 16:06:11 +03:00
Pavel Kovalenko
8b5f8c592f Add comment regarding proxy tunnel usage in PocoHTTPClient.cpp 2020-07-11 15:43:30 +03:00
Azat Khuzhin
433fdffc19 Add lifetime_rows/lifetime_bytes interface (exported via system.tables) 2020-07-11 15:33:11 +03:00
Azat Khuzhin
84c93a6b02 Tiny IStorage refactoring 2020-07-11 15:17:06 +03:00
Alexander Kuzmenkov
10b0287fa4
Merge pull request #12341 from ClickHouse/aku/perfect-visitor
More perfect forwarding in field visitors
2020-07-11 13:36:37 +03:00
alexey-milovidov
c615ea658b
Merge pull request #12400 from vitlibar/fix-bad_typeid
Fix std::bad_typeid when JSON functions called with argument of wrong type
2020-07-11 05:40:44 +03:00
alexey-milovidov
7bc2c83b80
Merge pull request #12372 from s-mx/issue-10429-add_setting_for_ascii_grid_symbols
add setting for ascii grid symbols
2020-07-11 05:31:41 +03:00
Denis Glazachev
af98e74afd Gracefully handle the case when ExternalAuthenticators instance is not created (yet) 2020-07-11 02:42:48 +04:00
alexey-milovidov
4b2da605da
Update PrettyCompactBlockOutputFormat.cpp 2020-07-11 00:32:21 +03:00
alexey-milovidov
ca0591320d
Update PrettyBlockOutputFormat.cpp 2020-07-11 00:31:25 +03:00
alexey-milovidov
88e9003c35
Update DataTypeNullable.cpp 2020-07-11 00:29:07 +03:00
alexey-milovidov
7c2bd32c9c
Merge pull request #12401 from ClickHouse/fix_segfault_in_storage_merge
Fix another Context-related segfault
2020-07-11 00:19:00 +03:00
Pavel Kovalenko
f43428a4d5 S3 HTTPS integration test. 2020-07-10 22:42:18 +03:00
alesapin
d2fcbe1f4e Fix build 2020-07-10 22:27:12 +03:00
Maxim Sabyanin
40f7ec71d3 add setting output_format_pretty_grid_charset
This setting allows to chose charset for printing grids (either UTF-8 or
ASCII).
2020-07-10 22:25:49 +03:00
alesapin
a9824fd650 Better cmake and less libraries 2020-07-10 22:08:18 +03:00
alesapin
df176c633e Disable msgpack 2020-07-10 21:27:10 +03:00
Artem Zuikov
6b26842ce5
RIGHT and FULL JOIN for MergeJoin (#12118) 2020-07-10 21:10:06 +03:00
alexey-milovidov
ef41ef3162
Update MySQLHandler.cpp 2020-07-10 21:03:12 +03:00
alexey-milovidov
e22547c29d
Merge pull request #12388 from ClickHouse/bloom-filter-arg-check
Check arguments of bloom filter index
2020-07-10 20:54:16 +03:00
alexey-milovidov
caef1d8e24
Update MergeTreeIndexFullText.cpp 2020-07-10 20:53:58 +03:00
alexey-milovidov
2d9e0ec049
Merge pull request #12376 from ClickHouse/fix-totals-state-2
Fix TOTALS/ROLLUP/CUBE for aggregate functions with -State and Nullable arguments
2020-07-10 20:18:48 +03:00
alexey-milovidov
d819624d7c
Merge pull request #12378 from ClickHouse/allow-clear-column-with-dependencies
Allow to CLEAR column even if there are depending DEFAULT expressions
2020-07-10 20:18:14 +03:00
alexey-milovidov
031c773260
Merge pull request #12384 from ClickHouse/support-negative-float-constants-in-key-condition
Avoid exception when negative or floating point constant is used in WHERE condition for indexed tables
2020-07-10 20:16:35 +03:00
Vitaly Baranov
30e3d61b01 Fix calculating implicit access rights. 2020-07-10 17:16:43 +03:00
Vitaly Baranov
94c858b2dc Fix std::bad_typeid when JSON functions called with argument of wrong type. 2020-07-10 17:12:57 +03:00
Vitaly Baranov
3a0d358694 Allow typeid_cast() to cast nullptr to nullptr. 2020-07-10 17:02:48 +03:00
Alexander Tokmakov
20d95a21fc fix another context-related segfault 2020-07-10 17:00:44 +03:00
myrrc
cfe06a3b2f fix: #12098 2020-07-10 16:06:41 +03:00
Artem Zuikov
01b5c2663c
Delete injective functions inside uniq (#12337) 2020-07-10 13:42:41 +03:00
BohuTANG
86590d4aca Change the exception catch to the generic way 2020-07-10 17:18:00 +08:00
Azat Khuzhin
610382b693 kafka: fix SIGSEGV if there is an message with error in the middle of the batch
ReadBufferFromKafkaConsumer does not handle the case when there is
message with an error on non first position in the current batch, since
it goes through messages in the batch after poll and stop on first valid
message.

But later it can try to use message as valid:
- while storing offset
- get topic name
- ...

And besides the message itself is also invalid (you can find this in the
gdb traces below).

So just filter out messages win an error error after poll.

SIGSEGV was with the following stacktrace:
    (gdb) bt
    3  0x0000000010f05b4d in rd_kafka_offset_store (app_rkt=0x0, partition=0, offset=0) at ../contrib/librdkafka/src/rdkafka_offset.c:656
    4  0x0000000010e69657 in cppkafka::Consumer::store_offset (this=0x7f2015210820, msg=...) at ../contrib/cppkafka/include/cppkafka/message.h:225
    5  0x000000000e68f208 in DB::ReadBufferFromKafkaConsumer::storeLastReadMessageOffset (this=0x7f206a136618) at ../contrib/libcxx/include/iterator:1508
    6  0x000000000e68b207 in DB::KafkaBlockInputStream::readImpl (this=0x7f202c689020) at ../src/Storages/Kafka/KafkaBlockInputStream.cpp:150
    7  0x000000000dd1178d in DB::IBlockInputStream::read (this=this@entry=0x7f202c689020) at ../src/DataStreams/IBlockInputStream.cpp:60
    8  0x000000000dd34c0a in DB::copyDataImpl<> () at ../src/DataStreams/copyData.cpp:21
    9  DB::copyData () at ../src/DataStreams/copyData.cpp:62
    10 0x000000000e67c8f2 in DB::StorageKafka::streamToViews () at ../contrib/libcxx/include/memory:3823
    11 0x000000000e67d218 in DB::StorageKafka::threadFunc () at ../src/Storages/Kafka/StorageKafka.cpp:488

And some information from it:

    (gdb) p this.current.__i
    $14 = (std::__1::__wrap_iter<cppkafka::Message const*>::iterator_type) 0x7f1ca8f58660

    # current-1
    (gdb) p $14-1
    $15 = (const cppkafka::Message *) 0x7f1ca8f58600
    (gdb) p $16.handle_
    $17 = {__ptr_ = {<std::__1::__compressed_pair_elem<rd_kafka_message_s*, 0, false>> = { __value_ = 0x7f203577f938}, ...}
    (gdb) p *(rd_kafka_message_s*)0x7f203577f938
    $24 = {err = RD_KAFKA_RESP_ERR__TRANSPORT, rkt = 0x0, partition = 0, payload = 0x7f202f0339c0, len = 63, key = 0x0, key_len = 0, offset = 0, _private = 0x7f203577f8c0}

    # current
    (gdb) p $14-0
    $28 = (const cppkafka::Message *) 0x7f1ca8f58660
    (gdb) p $28.handle_.__ptr_
    $29 = {<std::__1::__compressed_pair_elem<rd_kafka_message_s*, 0, false>> = { __value_ = 0x7f184f129bf0}, ...}
    (gdb) p *(rd_kafka_message_s*)0x7f184f129bf0
    $30 = {err = RD_KAFKA_RESP_ERR_NO_ERROR, rkt = 0x7f1ed44fe000, partition = 1, payload = 0x7f1fc9bc6036, len = 242, key = 0x0, key_len = 0, offset = 2394853582209,

    # current+1
    (gdb) p (*($14+1)).handle_.__ptr_
    $44 = {<std::__1::__compressed_pair_elem<rd_kafka_message_s*, 0, false>> = { __value_ = 0x7f184f129d30}, ...}
    (gdb) p *(rd_kafka_message_s*)0x7f184f129d30
    $45 = {err = RD_KAFKA_RESP_ERR_NO_ERROR, rkt = 0x7f1ed44fe000, partition = 1, payload = 0x7f1fc9bc612f, len = 31, key = 0x0, key_len = 0, offset = 2394853582210,
      _private = 0x7f184f129cc0}

    # distance from the beginning
    (gdb) p messages.__end_-messages.__begin_
    $34 = 65536
    (gdb) p ($14-0)-messages.__begin_
    $37 = 8965
    (gdb) p ($14-1)-messages.__begin_
    $38 = 8964

    # parsing info
    (gdb) p allowed
    $39 = false
    (gdb) p new_rows
    $40 = 1
    (gdb) p total_rows
    $41 = 8964

    # current buffer is invalid
    (gdb) p *buffer.__ptr_
    $50 = {<DB::ReadBuffer> = {<DB::BufferBase> = {pos = 0x7f202f0339c0 "FindCoordinator response error: Local: Broker transport failure", bytes = 47904863385, working_buffer = {
            begin_pos = 0x7f202f0339c0 "FindCoordinator response error: Local: Broker transport failure",
            end_pos = 0x7f202f0339c0 "FindCoordinator response error: Local: Broker transport failure"}, internal_buffer = {

v0: check message errors in ReadBufferFromKafkaConsumer::nextImpl() (but
this may lead to using of that messages after and SIGSEGV again, doh).
v2: skip messages with an error after poll.
2020-07-10 11:41:44 +03:00
Alexey Milovidov
47eaffbe63 Additional checks 2020-07-10 11:21:40 +03:00
Alexey Milovidov
4b86f36d37 Check arguments of bloom filter index 2020-07-10 11:13:21 +03:00
alesapin
5cae87e664
Merge pull request #12335 from ClickHouse/fix_alter_exit_codes
Fix alter rename error messages
2020-07-10 11:05:20 +03:00
Peng Jian
958bb1f3aa COS (Tencent Cloud Object Storage) integration
To allow import and export to COS.
2020-07-10 15:26:55 +08:00
Alexey Milovidov
d543a75f65 Allow to parse operator NOT as a function #12262 2020-07-10 09:48:05 +03:00
Alexey Milovidov
276b3a0215 Avoid exception when negative or floating point constant is used in WHERE condition for indexed tables #11905 2020-07-10 09:30:49 +03:00
Alexey Milovidov
a4b35a8a6f Allow to CLEAR column even if there are depending DEFAULT expressions #12333 2020-07-10 08:54:35 +03:00
Alexey Milovidov
df2c7fec24 Add comment 2020-07-10 08:42:09 +03:00
alexey-milovidov
c16d8e094b
Merge pull request #12308 from ClickHouse/fix-codec-bad-exception-code
Fix wrong exception code in codecs Delta, DoubleDelta #12110
2020-07-10 08:40:46 +03:00
alexey-milovidov
6479e2b406
Update FieldVisitors.h 2020-07-10 08:37:43 +03:00
Alexey Milovidov
70273725d5 Fix error 2020-07-10 08:30:54 +03:00
Alexey Milovidov
c610a4b0a8 Fix error with ownership of aggregate function states with nested states 2020-07-10 08:28:34 +03:00
alexey-milovidov
c5ebf596c8
Merge pull request #12315 from ClickHouse/fix-race-condition-replicated-merge-tree-queue
Fix race condition in ReplicatedMergeTreeQueue
2020-07-10 08:11:56 +03:00
BohuTANG
64fdce9398 Write through Poco::Exception exception to MySQL protocol client 2020-07-10 12:54:08 +08:00
alexey-milovidov
8d7e418617
Merge pull request #12314 from BohuTANG/mysql_select_database
Support MySQL 'SELECT DATABASE()'
2020-07-10 06:32:04 +03:00
Alexey Milovidov
12e00411b4 Fix TOTALS/ROLLUP/CUBE for aggregate functions with -State and Nullable arguments #12163 2020-07-10 06:23:42 +03:00
Alexey Milovidov
f252dd94c8 Miscellaneous 2020-07-10 05:17:15 +03:00
Alexey Milovidov
fcdcb3cb1e Remove useless code 2020-07-10 04:58:27 +03:00
Alexey Milovidov
afc00fa0b8 Merge branch 'master' into fix-codec-bad-exception-code 2020-07-10 04:12:24 +03:00
Alexey Milovidov
7fc90aa070 Fix error 2020-07-10 02:45:29 +03:00
Alexey Milovidov
ad6fcd57b2 Merge branch 'master' into fix-race-condition-replicated-merge-tree-queue 2020-07-10 02:21:24 +03:00
Anton Popov
c4767557f2
Merge pull request #12306 from CurtizJ/fix-with-fill
Fix order of columns in WITH FILL modifier
2020-07-10 00:12:11 +03:00
Alexander Kuzmenkov
0001a08081 More perfect forwarding in field visitors 2020-07-09 19:16:33 +03:00
Alexey Milovidov
1b3d389135 Revert unrelated changes 2020-07-09 17:45:53 +03:00
alexey-milovidov
bb5247ea9d
Merge pull request #12313 from ClickHouse/sanitizer-trap-log-from-separate-thread
Log sanitizer trap messages from separate thread
2020-07-09 17:40:55 +03:00
alesapin
0156f43ed3 Human readable errors in alter rename queries 2020-07-09 17:30:38 +03:00
BohuTANG
260bcb9d79 Add integration test for mysql replacement query 2020-07-09 22:20:54 +08:00
alesapin
9dea4ab323 Initial version 2020-07-09 17:14:44 +03:00
Vladimir Chebotarev
faf6be6576
Implemented single part uploads for DiskS3 (#12026)
* Implemented single part uploads for DiskS3.
* Added `min_multi_part_upload_size` to disk configuration.
2020-07-09 17:09:17 +03:00
Denis Glazachev
5a4762bb8a
Merge branch 'master' into ldap-per-user-authentication 2020-07-09 14:50:02 +04:00
alesapin
47f05dcadd
Merge pull request #12304 from CurtizJ/fix-ttl-rename
Fix TTL after renaming column.
2020-07-09 13:06:27 +03:00
Alexey Milovidov
380f748358 Fix issues 2020-07-09 08:08:41 +03:00
Alexey Milovidov
b48d375ec5 Fix bad code 2020-07-09 08:00:53 +03:00
Alexey Milovidov
c82711b013 Fix build 2020-07-09 07:56:38 +03:00
Alexey Milovidov
39e79cfe3e Merge branch 'master' into fix-codec-bad-exception-code 2020-07-09 07:50:18 +03:00
Alexey Milovidov
6c458a6287 Fix race condition in ReplicatedMergeTreeQueue 2020-07-09 07:43:28 +03:00
alexey-milovidov
827990d681
Merge pull request #12305 from ClickHouse/fix-virtual-columns-filter
Fix virtual columns filter
2020-07-09 07:06:07 +03:00
alexey-milovidov
e73c6779f8
Merge pull request #12292 from ClickHouse/fix-typo
Fix typo in setting name
2020-07-09 06:32:27 +03:00
BohuTANG
5ca3aef919 Support MySQL 'SELECT DATABASE()' query replacement 2020-07-09 11:07:20 +08:00
Alexey Milovidov
e17995cb75 Tested with "trap" function 2020-07-09 05:24:59 +03:00
alexey-milovidov
0c37fe9c75
Merge pull request #12179 from azat/GROUP-BY-injective-elimination-dictGet-fixes
Fix dictGet arguments check during GROUP BY injective functions elimination
2020-07-09 04:29:26 +03:00
alexey-milovidov
0a935dd4e8
Merge branch 'master' into fix-12030 2020-07-09 04:27:40 +03:00
alexey-milovidov
072a8e0e40
Merge pull request #12182 from azat/fix-user-memory-tracking-drift
Cap max_memory_usage* limits to the process resident memory
2020-07-09 04:25:55 +03:00
alexey-milovidov
36205e3ddf
Merge pull request #12181 from azat/bump-arrow-to-0.17
Bump arrow to 0.17 (and flatbuffers to v1.12, required by arrow)
2020-07-09 04:24:47 +03:00
Alexey Milovidov
a01a61c179 Remove another chunk of unneeded code 2020-07-09 04:07:18 +03:00
Alexey Milovidov
3cc9fd5b8f Remove something obviously wrong 2020-07-09 04:02:20 +03:00
Alexey Milovidov
ea970fd57c Remove bad ugliness 2020-07-09 04:00:16 +03:00
Alexey Milovidov
45e706aa8c Fix bad code, once again 2020-07-09 03:48:51 +03:00
Alexey Milovidov
105a35a6ae Fix strange things 2020-07-09 03:47:16 +03:00
Alexey Milovidov
0c8e12affd Remove ridiculous code 2020-07-09 03:46:00 +03:00
Alexey Milovidov
9dc91e3ee4 Fix outstandingly wrong code 2020-07-09 03:35:14 +03:00
Alexey Milovidov
4b8c827f84 Fix wrong exception code in codecs Delta, DoubleDelta #12110 2020-07-09 03:19:02 +03:00
Anton Popov
1122d99ba8 fix order of columns in WITH FILL modifier 2020-07-09 02:56:44 +03:00
Alexey Milovidov
b78e1145e8 Fix filtering by virtual columns #12166 2020-07-09 02:52:57 +03:00
Nikita Mikhaylov
1918d1d417
Fix ORC build (#12258)
* first try

* change submodule

* Update .gitmodules

* include build directory

* Update .gitmodules

Co-authored-by: Nikita Mikhailov <jakalletti@jakalletti-build.sas.yp-c.yandex.net>
2020-07-09 03:49:21 +04:00
Anton Popov
0e4871eec2 fix TTL after renaming column 2020-07-09 02:25:31 +03:00
Alexey Milovidov
eaa13d8176 Fix strange code CC @Enmk. Prove: g++ -xc++ -include vector - <<< 'int main() { return std::vector<const char>{1, 2, 3}.size(); }' 2020-07-09 02:04:42 +03:00
alexey-milovidov
f021376874
Merge pull request #12178 from azat/gcc10-build-fixes
gcc10/cmake build fixes
2020-07-09 01:49:07 +03:00
Alexey Milovidov
ba6dbb4bb2 Merge branch 'master' of github.com:yandex/ClickHouse into fix-typo 2020-07-09 00:35:47 +03:00
alexey-milovidov
1062270580
Merge pull request #12296 from ClickHouse/fix_rare_hanging_in_dnsresolver
Fix rare hanging in DNSResolver
2020-07-09 00:35:07 +03:00
Vitaly Baranov
d3230e5566
Merge pull request #12290 from vitlibar/show-error-after-trie-dictionary-failed-to-load
Show error after TrieDictionary failed to load.
2020-07-08 21:49:50 +03:00
Azat Khuzhin
d2d49972f1 Bump CI (after non-restartable inner CI issue)
This reverts commit d199961e6e.
2020-07-08 21:18:49 +03:00
tavplubix
33c3545125
Merge pull request #12197 from nikitamikhaylov/csv-file-bugfix
Headers for CSVWithNames in StorageFile
2020-07-08 20:42:49 +03:00
Alexander Kuzmenkov
dd907b2ee9
Merge pull request #12111 from ClickHouse/aku/query-fuzzer
AST-based query fuzzing mode for clickhouse-client
2020-07-08 19:47:53 +03:00
Alexander Tokmakov
c48ed67760 get hostname without mutex 2020-07-08 17:39:48 +03:00
alexey-milovidov
d199961e6e
Rerun tests 2020-07-08 15:12:23 +03:00
Alexey Milovidov
56b835effa Fix typo in setting name 2020-07-08 14:53:07 +03:00
Alexey Milovidov
f16afa4dee Fix typo in setting name 2020-07-08 14:49:44 +03:00
alexey-milovidov
df8cde7b54
Merge pull request #12279 from ClickHouse/fix-array-fill
Fix arrayFill for empty arrays.
2020-07-08 14:28:15 +03:00
alexey-milovidov
3f0c257389
Merge pull request #12275 from ClickHouse/supertype-low-cardinality
Supertype for LowCardinality
2020-07-08 14:27:48 +03:00
alexey-milovidov
51afbf8f8d
Merge pull request #12276 from ClickHouse/test-pod-array
Added a test for PaddedPODArray just in case
2020-07-08 14:27:16 +03:00
Artem Zuikov
26295f8695
try remove strange logic in DuplicateOrderByVisitor (#12267) 2020-07-08 14:24:50 +03:00
Vitaly Baranov
4e40965c88 Show error after TrieDictionary failed to load. 2020-07-08 13:55:39 +03:00
alesapin
84f8bf1e14
Merge pull request #10697 from CurtizJ/polymorphic-parts
Polymorphic parts (in-memory format)
2020-07-08 13:25:45 +03:00
Alexander Kuzmenkov
a420b1989a Merge remote-tracking branch 'origin/master' into HEAD 2020-07-08 13:18:09 +03:00
alesapin
f04a49a114
Merge pull request #12256 from ianton-ru/redirect_limit_exception
throw exception on redirect limit in S3 request
2020-07-08 10:33:42 +03:00
Alexey Milovidov
9c53a90e3d Non-significant changes 2020-07-08 06:16:20 +03:00
alexey-milovidov
d0d1590d0d
Merge pull request #12271 from ClickHouse/fix-logical-functions-review
Fix minor issues in ternary logic
2020-07-08 05:33:37 +03:00
Alexey Milovidov
34e67b521a Fix ugly ugliness 2020-07-08 04:56:50 +03:00
Alexey Milovidov
abf1e015b3 Add documentation for arrayFill 2020-07-08 04:44:24 +03:00
Alexey Milovidov
934d18b649 Added a test for PaddedPODArray just in case 2020-07-08 02:41:10 +03:00
alexey-milovidov
b4c2c4906e
Merge pull request #11873 from ClickHouse/initial-explain
Initial explain
2020-07-08 01:59:27 +03:00
Alexey Milovidov
3a1ed562db Merge branch 'master' into initial-explain 2020-07-08 01:58:25 +03:00
alexey-milovidov
ffdd6e1af6
Merge pull request #12173 from nikitamikhaylov/summing-bug-fix
Exclude partition key columns from SummingMergeTree
2020-07-08 01:46:12 +03:00
Alexey Milovidov
7138ccca2b Whitespace 2020-07-08 01:44:29 +03:00
Alexey Milovidov
60c1ffc892 Implement supertype for LowCardinality 2020-07-08 01:26:43 +03:00
Alexey Milovidov
1f978022c5 Implement getLeastSuperType for LowCardinality #8212 2020-07-08 01:10:23 +03:00
Azat Khuzhin
6a04de61b6 Allow isInjective() with empty block (is function injective with any arguments)
Since most of the time function will ignore it anyway, and creating
arguments just for checking is function injective or not is overkill
2020-07-08 00:28:49 +03:00
Azat Khuzhin
6e695809e4 Reset CurrentMetrics::MemoryTracking periodically to the process RSS 2020-07-08 00:19:46 +03:00
Alexey Milovidov
5ef4e90dfb Fix minor issues after #12196 2020-07-07 23:56:40 +03:00
Azat Khuzhin
fd5e08884a Bump arrow to 0.17 (and flatbuffers to v1.12, required by arrow)
MOTIVATION:
- remove double-conversion external dependency
- remove flatc (but flatbuffers is still required, arrow just shipped
  with generated files and that's it)

CHANGED:
- remove pre-generated headers, it is shipped with the arrow
- remove flatc (see above)

NOTES (see tests changes):
- and snappy error is reported as unsupported compression.
2020-07-07 23:54:32 +03:00
Denis Glazachev
917b56c094
Merge branch 'master' into ldap-per-user-authentication 2020-07-08 00:51:44 +04:00
Denis Glazachev
9effacfbc1 Merge branch 'master' into ldap-per-user-authentication
* master: (1102 commits)
  Update README.md
  Update README.md
  Update README.md
  Update index.md
  [docs] add intrdocution for statements page (#12189)
  Revert "Run perf tests with memory sampling (for allocations >1M)"
  Sanitize LINK_LIBRARIES property for the directories (#12160)
  [docs] refactor Domains overview (#12186)
  DOCS-647: toStartOfSecond (#12190)
  [docs] add intrdocution for commercial page (#12187)
  DOCSUP-1348 Russian translation for new functions (#133) (#12194)
  changelog fixes
  Update index.md (#12191)
  Update zh kafka.md title (#12192)
  Added test for #3767
  style fix for #12152
  Tests for fixed issues #10846 and #7347
  changelog fixes
  [docs] introduction for special table engines (#12170)
  [docs] introduction for third-party interfaces (#12175)
  ...

# Conflicts:
#	src/Access/ya.make
#	src/Common/ErrorCodes.cpp
2020-07-08 00:42:09 +04:00
alexey-milovidov
0fdc29be1e
Merge pull request #12196 from ClickHouse/akz/logical-functions-normalized-uint8
Fixed logical functions for UInt8 values when they are not equal to 0 or 1.
2020-07-07 23:19:35 +03:00
Nikolai Kochetov
fd7fcb28d4 Merge branch 'master' into initial-explain 2020-07-07 22:52:09 +03:00
Nikolai Kochetov
6ed2908e2a Rename ident to indent. 2020-07-07 22:51:32 +03:00
alexey-milovidov
546fcc9ed6
Merge pull request #12151 from ClickHouse/fix-transform-query-aliases
Fix transform query for external databases in presense of aliases
2020-07-07 21:46:35 +03:00
Anton Ivashkin
78ba9c986f throw exception on redirect limit in S3 request 2020-07-07 16:20:48 +03:00
Alexander Kuzmenkov
ac436c79eb Merge remote-tracking branch 'origin/master' into HEAD 2020-07-07 15:42:11 +03:00
Nikita Mikhaylov
270551e599 done 2020-07-07 14:45:20 +03:00
Alexander Kuzmenkov
688f185f9e style fix for #12152 2020-07-07 13:28:45 +03:00
Alexander Kazakov
2906ae37f5 Simple (and fast) inplace fix for UInt8 -> bool 2020-07-07 13:26:11 +03:00
Anton Popov
416d9648c2 remove questionable functionality 2020-07-07 12:58:14 +03:00
alesapin
be85f9f98a
Merge pull request #12165 from vitlibar/fix-split-dictionary-source-table-name
Fix splitting table name of dictionary source
2020-07-07 11:49:36 +03:00
Azat Khuzhin
68ca3b7aec Do not try to adjust memory tracker amount if it is not larger then in total 2020-07-07 11:26:40 +03:00
Alexander Kuzmenkov
dce7709405
Merge pull request #12152 from BohuTANG/mysql_kill_query
Support MySQL 'KILL QUERY [connection_id]'
2020-07-07 11:07:20 +03:00
tavplubix
488a8cbc9f
Merge pull request #12120 from filimonov/query_context_for_system_logs
Add query context for system logs and to Buffer
2020-07-07 09:55:20 +03:00
Nikolai Kochetov
e9d1aea745 Fix tests. 2020-07-07 09:19:03 +03:00
Azat Khuzhin
f3ab0aa081 gtest_compressionCodec: suppress non instantiated gtest warning
gtest reports:

    [ RUN      ] GoogleTestVerification.UninstantiatedParameterizedTestSuite<CodecTestPerformance>
    ../src/Compression/tests/gtest_compressionCodec.cpp:590: Failure
    Parameterized test suite CodecTestPerformance is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the only ones provided expand to nothing.

    Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in to get other utilities.)

    To suppress this error for this test suite, insert the following line (in a non-header) in the namespace it is defined in:

    GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(CodecTestPerformance);
    [  FAILED  ] GoogleTestVerification.UninstantiatedParameterizedTestSuite<CodecTestPerformance> (0 ms)
2020-07-07 02:00:08 +03:00
Azat Khuzhin
d68ecdc84c Cap max_memory_usage* limits to the process resident memory
There are still some issues with memory tracking, but now with per-user
tracking:

    executeQuery: Code: 241, e.displayText() = DB::Exception: Memory limit (for user) exceeded: would use 437.72 GiB (attempt to allocate chunk of 4200926 bytes), maximum: 437.72 GiB (version 20.6.1.1) (from 10.7.140.7:31318)

Although the server is mostly idle:

    SELECT formatReadableSize(memory_usage)
    FROM system.processes

    ┌─formatReadableSize(memory_usage)─┐
    │ 289.28 MiB                       │
    │ 155.75 MiB                       │
    │ 0.00 B                           │
    └──────────────────────────────────┘

Refs: https://github.com/ClickHouse/ClickHouse/pull/10496/files#r450206865
Cc: @alexey-milovidov
2020-07-07 01:51:21 +03:00
Alexander Kazakov
1c0c8a7bf6
Merge pull request #11892 from excitoon-favorites/relatives3paths
Switched paths in S3 metadata to relative
2020-07-07 00:13:07 +03:00
Vitaly Baranov
4733504b51 Don't split dictionary source's table name into schema and table name itself
if ODBC driver doesn't support schema.
2020-07-06 23:41:39 +03:00
Alexey Milovidov
2e8ba3427a Better assert 2020-07-06 23:40:32 +03:00
Azat Khuzhin
c59907c1d6 gtest_weak_hash_32: fix lack of operator<< for char8_t 2020-07-06 23:34:40 +03:00
Azat Khuzhin
0a24d9eabf gtest_compressionCodec: fix lack of operator<< for char8_t 2020-07-06 23:34:40 +03:00
Azat Khuzhin
dab5b5ad7b gtest_compressionCodec: use fmt over boost::format
boost::format is not compiled under gcc10:

                     from ../src/Compression/tests/gtest_compressionCodec.cpp:14:
    /usr/include/boost/format/alt_sstream_impl.hpp: In instantiation of ‘boost::io::basic_altstringbuf<Ch, Tr, Alloc>::int_type boost::io::basic_altstringbuf<Ch, Tr, Alloc>::overflow(boost::io::basic_altstringbuf<Ch, Tr, Alloc>::int_type) [with Ch = char; Tr = std::char_traits<char>; Alloc = std::allocator<char>; boost::io::basic_altstringbuf<Ch, Tr, Alloc>::int_type = int]’:
    /usr/include/boost/format/alt_sstream_impl.hpp:227:9:   required from here
    /usr/include/boost/format/alt_sstream_impl.hpp:261:45: error: no matching function for call to ‘std::allocator<char>::allocate(std::size_t&, char*)’
      261 |                     newptr = alloc_.allocate(new_size, is_allocated_? oldptr : 0);

(although this is system-wide boost, it is pretty recent - 1.72)
2020-07-06 23:34:40 +03:00
Azat Khuzhin
a276d0da4f gtest_compressionCodec: is_trivial+is_standard_layout over deprecated is_pod 2020-07-06 23:34:40 +03:00
Azat Khuzhin
128dd4fa8a Fix dictGet arguments check during GROUP BY injective functions elimination
This patch changes the place where the dictionary will be loaded (during
syntax analysis), but I guess this is fine, it will be loaded anyway.

Fixes: #10342
2020-07-06 22:53:17 +03:00
Azat Khuzhin
6310e49032 Fix dictGet with bad arguments during GROUP BY injective functions elimination 2020-07-06 22:53:17 +03:00
Mikhail Filimonov
93517b4e82 Same change for Kafka - just in case, and to make it conform. 2020-07-06 20:48:33 +02:00
alesapin
3f90f65678 Merge remote-tracking branch 'origin' into CurtizJ-polymorphic-parts 2020-07-06 21:34:17 +03:00
Nikita Mikhaylov
2b539e6ace fix style 2020-07-06 20:26:15 +03:00
Mikhail Filimonov
8038383f06 Fix #10437, CR fixes 2020-07-06 19:24:33 +02:00
alexey-milovidov
3059be55a3
Merge branch 'master' into fix-test-under-thread-fuzzer 2020-07-06 19:49:25 +03:00
Nikita Mikhaylov
53522c728b
Merge pull request #11662 from Avogar/orc_output_format
Add ORCBlockOutputFormat
2020-07-06 18:51:35 +04:00
Nikita Mikhaylov
d31ed58f01 done 2020-07-06 17:33:31 +03:00
Anton Popov
66bed10ec1
Merge pull request #12109 from PerformanceVision/initialize_aggregation
Create initializeAggregation to initialize an aggregation function
2020-07-06 15:12:30 +03:00
alesapin
8e767bf5d0
Merge pull request #12153 from ClickHouse/fix-mutations-interpreter
Fix wrong logic in MutationsInterpreter
2020-07-06 14:43:54 +03:00
Alexander Kuzmenkov
d648628a4b
Merge pull request #12075 from azat/StorageKafka-SIGSEGV-fix
Fix SIGSEGV in StorageKafka on DROP TABLE
2020-07-06 13:56:06 +03:00
Nikita Mikhaylov
5c6d6bdf54
Merge pull request #11995 from azat/load_balancing-priority
Load balancing manual priority
2020-07-06 13:32:20 +04:00
Nikita Mikhaylov
dac7a39256 fix ubsan final 2020-07-06 12:29:22 +03:00
alexey-milovidov
b6a19b5eff
Merge pull request #12148 from ClickHouse/fix-bad-redundant-order-by-optimization
Fix bad code in redundant ORDER BY optimization
2020-07-06 09:21:45 +03:00
alexey-milovidov
4ec787ce48
Merge pull request #12147 from ClickHouse/fix-logical-error-table-function-remote
Change exception code from LOGICAL_ERROR to BAD_ARGUMENTS when the name of remote table is empty.
2020-07-06 09:21:23 +03:00
Alexey Milovidov
1ca45c1b7e Fix mutations interpreter #9088 2020-07-06 09:05:48 +03:00
Alexey Milovidov
71b410eb10 Remove unused potentially dangerous function 2020-07-06 09:05:48 +03:00
Alexey Milovidov
2a026ee902 Merge branch 'master' into fix-test-under-thread-fuzzer 2020-07-06 08:49:20 +03:00
alexey-milovidov
3aad122153
Merge pull request #12092 from CurtizJ/fix-state-resample
Fix segfault with -StateResample combinators
2020-07-06 08:47:42 +03:00
Alexey Milovidov
0124eeb2d8 Added function "hasThreadFuzzer" 2020-07-06 06:21:29 +03:00
Guillaume Tassery
569a89280c update ya.make 2020-07-06 10:06:45 +07:00
Alexey Milovidov
6483ba7d52 Style 2020-07-06 05:07:55 +03:00
BohuTANG
cb04c503d7 Add MySQL to ClickHouse query replacement mapping table 2020-07-06 10:07:38 +08:00
Alexey Milovidov
f08ff9010e Whitespace 2020-07-06 04:57:10 +03:00
Alexey Milovidov
95a7a09c37 Fix transform query for external databases in presense of aliases #12032 2020-07-06 04:50:45 +03:00
Alexey Milovidov
de4459c25a Fix error 2020-07-06 04:25:45 +03:00
alexey-milovidov
ea0fb005fb
Merge pull request #12116 from vitlibar/fix-table-dictionary-dependency
Fix handling dictionary-table dependency
2020-07-06 04:19:43 +03:00
BohuTANG
37ac456439 Support KILL QUERY [connection_id] for MySQL 2020-07-06 09:02:02 +08:00
Alexey Milovidov
7f3a8f3eb9 Fix bad code in redundant ORDER BY optimization #10067 2020-07-06 02:50:20 +03:00