Commit Graph

524 Commits

Author SHA1 Message Date
Artem Zuikov
2e6edc250c better min/max for Int128 2020-09-22 14:35:46 +03:00
Alexander Tokmakov
13e41cdd20 try enable atomic database by default 2020-09-21 13:55:34 +03:00
Alexey Milovidov
059646743b Remove OpenCL 2020-09-19 17:20:00 +03:00
tavplubix
6e0bdaf46d
Merge pull request #14535 from zhang2014/fix/datetime
ISSUES-4006 support decimal data type for MaterializedMySQL
2020-09-19 14:05:32 +03:00
Nikolai Kochetov
c7aff19937
Merge pull request #14221 from hagen1778/settings-leaf-limits
[settings]: introduce new query complexity settings for leaf-nodes
2020-09-18 14:05:10 +03:00
alexey-milovidov
9b6c62e82b
Merge pull request #14867 from amosbird/lbo
Explicit define what first replica is.
2020-09-17 19:37:15 +03:00
zhang2014
64032e22a2 Merge branch 'master' into fix/datetime 2020-09-18 00:28:09 +08:00
tavplubix
5a890d7377
Merge pull request #14852 from zhang2014/fix/mysql_protocol_parser
Fix parse MySQL binlog event for MaterializeMySQL
2020-09-17 19:17:30 +03:00
Vitaly Baranov
3356d75b23
Merge pull request #13156 from azat/cluster-secure
Secure inter-cluster query execution (with initial_user as current query user) [v3]
2020-09-17 17:11:00 +03:00
roman
b41421cb1c [settings]: introduce new query complexity settings for leaf-nodes
The new setting should allow to control query complexity on leaf nodes
excluding the final merging stage on the root-node. For example, distributed
query that reads 1k rows from 5 shards will breach the `max_rows_to_read=5000`,
while effectively every shard reads only 1k rows. With setting `max_rows_to_read_leaf=1500`
this limit won't be reached and query will succeed since every shard reads
not more that ~1k rows.
2020-09-17 10:37:05 +01:00
zhang2014
0c81a8777e Fix review comment 2020-09-17 14:21:38 +08:00
Amos Bird
38d53c38f6
Explicit define what first replica is. 2020-09-16 17:54:41 +08:00
zhang2014
9246e77b05 Remove CHECKSUM_CRC32_SIGNATURE_LENGTH in mysql event parser 2020-09-16 15:05:44 +08:00
zhang2014
172bc46c63 Fix format and dryrun event parse failure 2020-09-16 14:52:59 +08:00
zhang2014
0c06ccc35e Fix parse error packet on event 2020-09-15 23:26:13 +08:00
zhang2014
9c329996ff Revert param name in header file 2020-09-15 22:56:57 +08:00
zhang2014
c517df0b1a Merge branch 'master' into fix/mysql_protocol_parser 2020-09-15 20:29:27 +08:00
zhang2014
106e05ab2f Try fix mysql protocol parse failure 2020-09-15 20:28:42 +08:00
Artem Zuikov
51ba12c2c3
Try speedup build (#14809) 2020-09-15 12:55:57 +03:00
alesapin
a75254766e
Merge pull request #14609 from ClickHouse/update_to_gcc_10
Update default build to gcc-10
2020-09-15 09:49:43 +03:00
Azat Khuzhin
85b63ecadf Bump revision manually (to make it compatible with other version from this tag)
As @alexey-milovidov wrote.

P.S. I did not use ./utils/release/release_lib.sh (via ./release), since
it is pretty complex (it fetches tags and so on)

The following macros has been updated:
- VERSION_REVISION -- usually bumped with utils/release/release_lib.sh
  (interesting that even if there were no changes)
- DBMS_MIN_REVISION_WITH_INTERSERVER_SECRET
- DBMS_TCP_PROTOCOL_VERSION -- does not affect anything, some internal
  yandex stuff
2020-09-15 01:36:28 +03:00
Azat Khuzhin
0159c74f21 Secure inter-cluster query execution (with initial_user as current query user) [v3]
Add inter-server cluster secret, it is used for Distributed queries
inside cluster, you can configure in the configuration file:

  <remote_servers>
      <logs>
          <shard>
              <secret>foobar</secret> <!-- empty -- works as before -->
              ...
          </shard>
      </logs>
  </remote_servers>

And this will allow clickhouse to make sure that the query was not
faked, and was issued from the node that knows the secret. And since
trust appeared it can use initial_user for query execution, this will
apply correct *_for_user (since with inter-server secret enabled, the
query will be executed from the same user on the shards as on initator,
unlike "default" user w/o it).

v2: Change user to the initial_user for Distributed queries if secret match
v3: Add Protocol::Cluster package
v4: Drop Protocol::Cluster and use plain Protocol::Hello + user marker
v5: Do not use user from Hello for cluster-secure (superfluous)
2020-09-15 01:36:28 +03:00
alesapin
d9394fbf66 Fix code 2020-09-11 18:51:08 +03:00
BohuTANG
2873777857 Ignore unprocessed replication payload 2020-09-11 12:54:53 +08:00
BohuTANG
00b8d91eb8 Fix mysql replication TableMapEvent optional metadata ignore 2020-09-10 19:46:59 +08:00
zhang2014
fea763bb75 ISSUES-4006 support decimal 256 for mysql block input stream 2020-09-10 11:37:00 +08:00
zhang2014
094897fe69 Merge branch 'master' into fix/datetime 2020-09-09 23:37:54 +08:00
Artem Zuikov
48f29ae11f
Fix bug in Decimal scale (#14603) 2020-09-09 16:18:58 +03:00
Vasily Nemkov
3973a17530
MySql datatypes dateTime64 and decimal (#11512) 2020-09-09 15:18:02 +03:00
Kruglov Pavel
902ac5c33f
Change setting description 2020-09-08 15:49:57 +03:00
Kruglov Pavel
401b0e5ebb
Fix mistake 2 2020-09-08 15:47:02 +03:00
Kruglov Pavel
0e8946eb9f
Fix mistake 2020-09-08 15:38:11 +03:00
Kruglov Pavel
563f1486e6
Add output_tsv_null_representation 2020-09-08 15:36:11 +03:00
Nikita Mikhaylov
80f193f615
Merge pull request #14252 from bharatnc/ncb/time-query-log-in-ms
add query_start_time_microseconds field to system.query_log & system.query_thread_log tables
2020-09-08 15:11:50 +04:00
Winter Zhang
18b4c5997d
Merge branch 'master' into fix/datetime 2020-09-08 11:32:48 +08:00
Alexey Milovidov
e3924b8057 Fix "Arcadia" 2020-09-08 01:14:13 +03:00
zhang2014
564dfac737 ISSUES-4006 fix decimal type decimal number part 2020-09-08 02:36:07 +08:00
zhang2014
46c84b054e ISSUES-4006 fix negative decimal number 2020-09-08 01:28:20 +08:00
alexey-milovidov
e1104135c8
Merge pull request #13939 from fastio/master
Multithreading implementation of Kafka engine
2020-09-07 20:12:06 +03:00
tavplubix
1f1b570832
Merge pull request #14523 from BohuTANG/mysql_replication_1
Remove dryrun event to update position
2020-09-07 15:49:33 +03:00
zhang2014
b7e9d5e72d ISSUES-4006 support decimal for MaterializedMySQL engine 2020-09-07 17:43:25 +08:00
BohuTANG
576c6e9757 Remove dryrun event to update position 2020-09-07 13:18:28 +08:00
alexey-milovidov
8b0a6d5609
Merge pull request #14404 from dimarub2000/system_events_show_zero_values
system_events_show_zero_values setting added
2020-09-07 06:40:36 +03:00
bharatnc
fd22450a2a Merge remote-tracking branch 'upstream/master' into ncb/time-query-log-in-ms 2020-09-06 13:19:27 -07:00
Dmitry
9639846ca9 Merge branch 'master' into system_events_show_zero_values 2020-09-06 14:55:14 +03:00
alexey-milovidov
a78b04b56a
Merge pull request #14455 from ClickHouse/prepare-clang-11
Prepare for clang 11
2020-09-06 11:02:58 +03:00
Peng Jian
ac25c41f22 Update docs for Kafka engine 2020-09-06 11:17:19 +08:00
Peng Jian
e6bfd9d586 1. Add new setting for Kafka engine, named kafka_thread_per_consumer which default value is false. 2. Create separate thread pool for Kafka engine. 2020-09-06 11:17:19 +08:00
bharatnc
44e168bea7 query_start_time_microseconds field in system.query_log
Add a new field called `query_start_time_microseconds`  that will add
`microseconds`. This new field will be of type `DateTime64`.
2020-09-04 09:42:18 -07:00
Artem Zuikov
7c20aa2c62
Another 256-bit integers (strict 32 bytes) (#14229) 2020-09-04 16:33:02 +03:00
BohuTANG
4b0264c2a8 Fix mysql replication GTID event dump format 2020-09-04 12:00:37 +08:00
Alexey Milovidov
4b3220f79a Prepare for clang 11 2020-09-04 03:39:56 +03:00
alexey-milovidov
4f9df21d3e
Merge pull request #10373 from azat/dist-SELECT-optimization
Optimize queries with LIMIT/LIMIT BY/ORDER BY for distributed with GROUP BY sharding_key
2020-09-04 01:38:56 +03:00
zhang2014
802a5a31a0 ISSUES-4006 fix code style 2020-09-03 11:11:18 +08:00
zhang2014
9c091fb2c1 ISSUES-4006 remove unsupport data type 2020-09-03 11:08:38 +08:00
zhang2014
dd0feeeaa1 ISSUES-4006 support datetime with precision 2020-09-03 11:03:28 +08:00
Azat Khuzhin
fffeeeba06 Force WithMergeableStateAfterAggregation via distributed_group_by_no_merge (convert to UInt64)
Possible values:
- 1 - Do not merge aggregation states from different servers for distributed query processing - in case it is for certain that there are different keys on different shards.
- 2 - same as 1 but also apply ORDER BY and LIMIT stages
2020-09-03 00:52:51 +03:00
Azat Khuzhin
4043be3121 Add new query processing stage WithMergeableStateAfterAggregation
Process query until the stage where the aggregate functions were
calculated and finalized.

It will be used for optimize_distributed_group_by_sharding_key.

v2: fix aliases
v3: Fix protocol ABI breakage due to WithMergeableStateAfterAggregation
    Conditions >= for QueryProcessingStage::Enum has been verified, and they
    are ok (in InterpreterSelectQuery).
2020-09-03 00:51:08 +03:00
Dmitry
13ba8cd5a7 fixed spaces 2020-09-02 14:25:11 +03:00
Dmitry
6f18cd772c fixes 2020-09-02 13:07:23 +03:00
Dmitry
2180cdc400 system_events_show_zero_values setting added 2020-09-02 13:00:49 +03:00
BohuTANG
6dfab88156 ISSUES-14235 change string.rfind to string starts_with and add some tests 2020-09-02 08:31:51 +08:00
Alexander Kuzmenkov
fa04b39d32
Revert "Change query event filter and add integration test for empty GTID transaction" 2020-09-02 02:06:53 +03:00
Alexander Kuzmenkov
949a41f8b5
Merge pull request #14321 from BohuTANG/materialize_mysql_query_filter
Change query event filter and add integration test for empty GTID transaction
2020-09-01 17:44:58 +03:00
Artem Zuikov
d304d522cc
Refactoring: rename types to allow change bigint library (#14219) 2020-09-01 12:54:50 +03:00
BohuTANG
453fb837d8 ISSUES-14235 change string.rfind to stringstarts_with 2020-09-01 16:25:15 +08:00
BohuTANG
4d4b4b9532 Fix MaterializeMySQL empty GTID transaction issue #14235 2020-08-30 15:55:34 +08:00
Alexander Kuzmenkov
c4fc434a13
Merge pull request #14060 from azat/parallel_distributed_insert_select-2
Extend parallel_distributed_insert_select to run INSERT into local table
2020-08-26 20:37:36 +03:00
tavplubix
cff92c8ad3
Merge pull request #13820 from BohuTANG/mysql_replica_gtid_issue_4006
ISSUES-4006 support MySQL GTID based replication #4006
2020-08-26 15:02:53 +03:00
BohuTANG
e3bfd1a5b8 ISSUES-4006 fix clang-tidy error on boost::is_any_of 2020-08-26 14:33:05 +08:00
BohuTANG
3510afd149 ISSUES-4006 change UUID from MySQL big-endian to ClickHouse little-endian 2020-08-26 10:39:07 +08:00
BohuTANG
81e679dc22 ISSUES-4006 support gtid sets with whitespace 2020-08-26 09:04:33 +08:00
Azat Khuzhin
50a312534c Extend parallel_distributed_insert_select to run INSERT into local table
Before this patch there was:

- parallel_distributed_insert_select=1, that executes:

    INSERT INTO dist_out SELECT ... FROM underlying_dist_in

After this patch there will be:

- parallel_distributed_insert_select=2, that executes:

    INSERT INTO underlying_dist_out SELECT ... FROM underlying_dist_in

And cover the behaviour w/o integration test, by using the following
techincs:
- SYSTEM STOP DISTRIBUTED SENDS
- prefer_localhost_replica=0
2020-08-25 22:49:13 +03:00
BohuTANG
d01f4d38eb ISSUES-4006 fix fast build warning and remove binlog file name 2020-08-25 17:44:23 +08:00
BohuTANG
d8e88499a5 ISSUES-4006 remove old BinlogDump style 2020-08-25 16:01:51 +08:00
BohuTANG
80af056cb4 ISSUES-4006 change the error code from UNKNOWN_EXCEPTION to LOGICAL_ERROR 2020-08-25 15:49:47 +08:00
BohuTANG
0876ab63ec ISSUES-4006 change to UUID type 2020-08-25 15:44:38 +08:00
Alexey Milovidov
dfe870e38c Merge branch 'new-branch' of https://github.com/ucasFL/ClickHouse into ucasFL-new-branch 2020-08-24 16:26:08 +03:00
Artem Zuikov
becc186c91
Add support for extended precision integers and decimals (#13097) 2020-08-19 14:52:17 +03:00
BohuTANG
26525a5eb1 Merge remote-tracking branch 'origin/master' into mysql_replica_gtid_issue_4006 2020-08-19 08:04:02 +08:00
BohuTANG
30b8159bb0 ISSUES-4006 fix empty gtid format when sets parse 2020-08-18 23:01:21 +08:00
Alexey Milovidov
9615b1f06a Generate ya.make 2020-08-18 12:46:02 +03:00
BohuTANG
a78604db2b ISSUES-4006 add constructor to initialize number member 2020-08-18 11:56:40 +08:00
BohuTANG
34975d1dd3 ISSUES-4006 try to fix PVS check error 2020-08-18 08:56:18 +08:00
BohuTANG
8c9236fefd ISSUES-4006 adapted GTID replication to Materialize MySQL 2020-08-17 22:12:41 +08:00
BohuTANG
c3561cd7e8 ISSUES-4006 add BIT/SET field type support 2020-08-17 16:30:13 +08:00
BohuTANG
ee6ac28773 ISSUES-4006 fix up meta parse 2020-08-17 16:27:34 +08:00
BohuTANG
6557e706c9 ISSUES-4006 fix special build check errors #4006 2020-08-17 16:01:18 +08:00
BohuTANG
a8465cfce6 ISSUES-4006 move MySQL command to the PacketsGeneric.h #4006 2020-08-17 15:27:35 +08:00
BohuTANG
cfc1fea619 ISSUES-4006 add startBinlogDumpGTID api for MySQLClient #4006 2020-08-17 15:21:20 +08:00
BohuTANG
059bf166ae ISSUES-4006 add GTID unit tests #4006 2020-08-17 14:45:43 +08:00
BohuTANG
3ccc650995 ISSUES-4006 add position.Dump() #4006 2020-08-17 09:30:16 +08:00
BohuTANG
e90679707a ISSUES-4006 add MySQL replication GTIDEvent #4006 2020-08-17 09:23:54 +08:00
BohuTANG
b4d18b1a52 ISSUES-4006 add MySQL replication GTID module #4006 2020-08-17 09:02:59 +08:00
Vitaly Baranov
2909ed1bc0 Better initialization of access storages. Make list of access storages dynamic. 2020-08-16 19:15:34 +03:00
feng lv
aaedf02d2b fix conflict 2020-08-16 12:38:39 +08:00
zhang2014
fe49bd3414 Merge branch 'master' of github.com:yandex/ClickHouse into refactor/materialize_mysql_database 2020-08-15 16:12:46 +08:00
alexey-milovidov
ea79c53ed2
Merge pull request #13735 from azat/gcc10-build-fixes-20.7
Fix compilation with gcc10 and libstdc++
2020-08-15 11:01:14 +03:00
zhang2014
2f3042ba86 ISSUES-4006 try fix build 2020-08-15 11:16:55 +08:00
Azat Khuzhin
194d1d514c Fix compilation MySQLReplication with gcc10 and libstdc++
gcc10 reports:
    ../src/Core/MySQLReplication.cpp:62:46: error: use of deleted function ‘std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char8_t) [with _Traits = std::char_traits<char>]’
2020-08-14 22:15:17 +03:00