Commit Graph

638 Commits

Author SHA1 Message Date
VDimir
0e9daded94 Repcale dots in prometheus metric names with underscores 2019-12-21 17:47:44 +00:00
Alexey Milovidov
41ed1ed471 Added quoting of db and table names where appropriate 2019-12-20 19:53:37 +03:00
Vitaly Baranov
754fb40cc4 Transform stateless test for row policy into an integration test
with improvements.
2019-12-19 13:37:02 +03:00
alesapin
a175ea5b73 Add coverage file flush for clickhouse-server when std::atexit is not called. Also slightly improved logging in stateless tests with coverage. 2019-12-18 13:43:40 +03:00
alexey-milovidov
a7384b4d07
Merge branch 'master' into MoreGCCWarnings 2019-12-18 02:01:39 +03:00
kreuzerkrieg
9612bb0e79 More GCC warnings 2019-12-16 23:19:50 +02:00
alesapin
a2180b0bb3 Merge branch 'master' into restrictions_for_external_dictionaries_from_ddl 2019-12-16 23:07:16 +03:00
Alexey Milovidov
4cf540b621 Applied a patch from Nicolae Vartolomei 2019-12-16 22:03:03 +03:00
Alexey Milovidov
d5d2959a5f Minor changes after merge #7900 2019-12-16 01:53:52 +03:00
alexey-milovidov
d498e14ff8
Merge pull request #7900 from Vdimir/prometheus-metrics-7369
Prometheus endpoint
2019-12-16 01:16:52 +03:00
VDimir
d413c4a7d5 Add test_prometheus_endpoint 2019-12-14 19:40:50 +03:00
alesapin
8fb9541958
Merge pull request #7946 from Alex-Burmak/filesystem_abstraction
Filesystem abstraction layer
2019-12-12 18:12:35 +03:00
Alexander Burmak
2ce6136de5 Merge remote-tracking branch 'refs/remotes/upstream/master' into vfs 2019-12-12 12:10:50 +03:00
Alexander Kazakov
954d5072e9 Returned the terminating sendProgress() in processOrdinaryQuery 2019-12-12 07:46:39 +03:00
Alexander Kazakov
eb5040771b Minor correction 2019-12-11 17:54:19 +03:00
Alexander Kazakov
292e3a0d24 Reworked TCPHandler::processOrdinaryQuery() to resolve race condition 2019-12-11 16:30:27 +03:00
alesapin
ea8994b9e4 Add restrections for several sources of external dictionaries 2019-12-10 20:27:29 +03:00
VDimir
b6aadf468a Prometheus metric prefixes in CamelCase 2019-12-10 08:31:59 +00:00
alexey-milovidov
cce78ef018
Merge pull request #8036 from yurriy/mysql
Compatibility with MySQL clients which don't support sha2_password auth plugin
2019-12-09 23:11:31 +03:00
Alexander Burmak
5a93441445 Merge remote-tracking branch 'refs/remotes/upstream/master' into vfs 2019-12-09 17:18:47 +03:00
alexey-milovidov
9106b2854a
Merge pull request #8084 from azat/read-temporary-tables-on-failure
Read temporary tables on failure to avoid interpreting that bits as query
2019-12-09 13:49:09 +03:00
alexey-milovidov
624be3679b
Merge branch 'master' into mysql 2019-12-09 04:53:30 +03:00
Azat Khuzhin
7b4fcc5fc5 Read temporary tables on failure to avoid interpreting that bits as query
Before this patch if the query failes (due to "Too many simultaneous
queries" for example) it will not read external tables info, and the
next request will interpret them as the query beginning at got:

  DB::Exception: Unknown packet 11861 from client

v2: reordering in the executeQuery() is not enough, since the query
    can fail in other places, before, i.e. quotas
v3: I cannot make non-intergration test (since there is no ability to
    receive "Unknown packet" via client, only from the server log),
    hence added one
2019-12-08 23:26:43 +03:00
Alexander Burmak
8104395dd2 Merge remote-tracking branch 'refs/remotes/upstream/master' into vfs 2019-12-08 11:45:18 +03:00
Vitaly Baranov
0e21673271 Rework Quota based on IAccessEntity. 2019-12-05 21:03:57 +03:00
Yuriy Baranov
1df4250b2f
Update MySQLHandler.cpp 2019-12-05 04:52:48 +03:00
Yuriy
564b58d2f6 using mysql_native_password for passwordless users 2019-12-05 02:37:11 +03:00
Yuriy
dbe7dc1185 using SHA1 MySQL auth plugin for plaintext passwords 2019-12-05 02:30:06 +03:00
VDimir
29312f5153 Revert "Metric names in prometheus-friendly snake_case format"
This reverts commit 2ddb801d0b.
2019-12-04 07:54:09 +00:00
alesapin
20e4e92c49 Fix some conflicts 2019-12-03 19:32:41 +03:00
Alexander Burmak
21623c3308 Merge remote-tracking branch 'refs/remotes/upstream/master' into vfs 2019-12-03 18:16:19 +03:00
alexey-milovidov
937386a7c9
Update Server.cpp 2019-12-03 04:14:01 +03:00
alexey-milovidov
43c47bdb55
Merge pull request #7717 from MaxFedotov/support_mysql_federated
support clickhouse as mysql federated server
2019-12-03 02:21:35 +03:00
alexey-milovidov
972156066d
Update MySQLHandler.cpp 2019-12-03 02:20:58 +03:00
alexey-milovidov
b08446a8c5
Update MySQLHandler.cpp 2019-12-03 02:18:19 +03:00
Maksim Fedotov
6381d33981 support clickhouse as mysql federated server. apply code review notes p4 2019-12-02 14:32:45 +03:00
Maksim Fedotov
13a1a33834 support clickhouse as mysql federated server. apply code review notes p3 2019-11-29 16:37:13 +03:00
Maksim Fedotov
6f0f9f855a support clickhouse as mysql federated server. fix code style 2019-11-28 18:02:02 +03:00
Maksim Fedotov
4844b9b230 support clickhouse as mysql federated server. apply code review notes p2 2019-11-28 17:43:52 +03:00
Alexander Burmak
3e5ef56644 Filesystem abstraction layer 2019-11-27 14:33:27 +03:00
VDimir
3c4220017c Add async metrics to Prometheus output 2019-11-26 23:27:24 +03:00
VDimir
eadc58bbd6 Style fixes in HTTPHandlerFactory 2019-11-26 22:03:29 +03:00
Maksim Fedotov
5e40311266 support clickhouse as mysql federated server. apply code review notes 2019-11-26 18:39:36 +03:00
Pervakov Grigory
9fbc55c61a Change max_table_size_to_drop and max_partition_size_to_drop to atmoic. Update hint in default config. 2019-11-25 14:42:09 +03:00
Pervakov Grigory
651e0f3a1c Update max_table_size_to_drop and max_partition_size_to_drop with config reload 2019-11-25 14:42:09 +03:00
VDimir
2ddb801d0b Metric names in prometheus-friendly snake_case format 2019-11-24 23:59:22 +03:00
VDimir
0e65716378 Style fixes 2019-11-24 23:03:09 +03:00
VDimir
ffcd9022a4 Prometheus run on custom port 2019-11-24 19:27:00 +03:00
VDimir
b19e33e819 Make HTTPRequestHandlerFactory composable, add PrometeusRequestHandlerFactory 2019-11-24 18:43:53 +03:00
VDimir
947fc8d134 Create http handler responding metrics in prometheus format 2019-11-24 15:06:10 +03:00
Nikita Mikhaylov
728ede25f9
Merge pull request #7840 from apbodrov/read_write_gzip
Gzip read/write to file/s3/url/hdfs
2019-11-22 11:48:58 +03:00
alexey-milovidov
420aeb25a4
Update MySQLHandler.cpp 2019-11-20 07:30:00 +03:00
Yuriy
5be62948bc merged master 2019-11-20 02:34:05 +03:00
Yuriy
1bf4d21c67 more precise error messages in MySQL protocol 2019-11-20 02:27:30 +03:00
Yuriy
21cc7ae25e enabled MySQL compatibility server when ClickHouse is compiled without SSL 2019-11-20 00:10:21 +03:00
Andrei Bodrov
a2b5989177 BrotliReadBuffer refactoring 2019-11-19 16:57:54 +03:00
Andrei Bodrov
8cbc52e711 add gzip read/write to file/s3/url/hdfs 2019-11-19 15:46:07 +03:00
Vitaly Baranov
f3d72b9ec1 Skip unknown settings with warnings. 2019-11-17 03:51:58 +03:00
alexey-milovidov
5017a090bf
Update MySQLHandler.cpp 2019-11-14 20:32:56 +03:00
Dmitry Muzyka
38f34bd437 fix detection of remote ip 2019-11-12 22:57:39 +03:00
Maksim Fedotov
0403444f14 support clickhouse as mysql federated server 2019-11-11 17:31:12 +03:00
millb
7a2dcf451a Merge branch 'master' into url_engine_problem 2019-11-08 02:19:09 +03:00
Nikolai Kochetov
3bde663681 Wailt for AsynchronousBlockInputStream inner thread before getting totals to avoid possible race. 2019-11-06 15:34:51 +03:00
Mikhail Korotov
3687ccfa1e Merge branch 'url_engine_problem' of https://github.com/millb/ClickHouse into url_engine_problem 2019-11-05 15:46:03 +03:00
Mikhail Korotov
82d09a8df0 working commit 2019-11-05 15:45:43 +03:00
millb
d62cd6efa8 Merge branch 'master' into url_engine_problem 2019-11-05 14:42:53 +03:00
Amos Bird
8f902dc2a9
Better null format for tcp handler. 2019-11-04 11:53:26 +08:00
proller
6a573b4092 Allow to use mysql format without ssl - try2 with mysql interface split (#7524)
* Allow use mysql format without ssl

* fix

* fix

*  fix

* Also disable poco's optional libraries

* clean

* fix

* fix

* Requested changes

* clean

* Requested fixes

* Update MySQLHandler.cpp
2019-11-02 13:20:46 +03:00
alesapin
04ca163518 Merge branch 'master' into dictionaries_ddl_loader 2019-10-25 10:58:04 +03:00
Alexander Kuzmenkov
29052b6a37
Merge pull request #7377 from azat/INSERT-Distributed-MATERIALIZED-cols
* Fix INSERT into Distributed non local node with MATERIALIZED columns

Previous patch e527def18a ("Fix INSERT
into Distributed() table with MATERIALIZED column") fixes it only for
cases when the node is local, i.e. direct insert.

This patch address the problem when the node is not local
(`is_local == false`), by erasing materialized columns on INSERT into
Distributed.

And this patch fixes two cases, depends on `insert_distributed_sync`
setting:

- `insert_distributed_sync=0`

    ```
    Not found column value in block. There are only columns: date. Stack trace:

    2. 0x7ffff7be92e0 DB::Exception::Exception() dbms/src/Common/Exception.h:27
    3. 0x7fffec5d6cf6 DB::Block::getByName(...) dbms/src/Core/Block.cpp:187
    4. 0x7fffec2fe067 DB::NativeBlockInputStream::readImpl() dbms/src/DataStreams/NativeBlockInputStream.cpp:159
    5. 0x7fffec2d223f DB::IBlockInputStream::read() dbms/src/DataStreams/IBlockInputStream.cpp:61
    6. 0x7ffff7c6d40d DB::TCPHandler::receiveData() dbms/programs/server/TCPHandler.cpp:971
    7. 0x7ffff7c6cc1d DB::TCPHandler::receivePacket() dbms/programs/server/TCPHandler.cpp:855
    8. 0x7ffff7c6a1ef DB::TCPHandler::readDataNext(unsigned long const&, int const&) dbms/programs/server/TCPHandler.cpp:406
    9. 0x7ffff7c6a41b DB::TCPHandler::readData(DB::Settings const&) dbms/programs/server/TCPHandler.cpp:437
    10. 0x7ffff7c6a5d9 DB::TCPHandler::processInsertQuery(DB::Settings const&) dbms/programs/server/TCPHandler.cpp:464
    11. 0x7ffff7c687b5 DB::TCPHandler::runImpl() dbms/programs/server/TCPHandler.cpp:257
    ```

- `insert_distributed_sync=1`

    ```
    2019.10.18 13:23:22.114578 [ 44 ] {a78f669f-0b08-4337-abf8-d31e958f6d12} <Error> executeQuery: Code: 171, e.displayText() = DB::Exception: Block structure mismatch in RemoteBlockOutputStream stream: different number of columns:
    date Date UInt16(size = 1), value Date UInt16(size = 1)
    date Date UInt16(size = 0): Insertion status:
    Wrote 1 blocks and 0 rows on shard 0 replica 0, 127.0.0.1:59000 (average 0 ms per block)
    Wrote 0 blocks and 0 rows on shard 1 replica 0, 127.0.0.2:59000 (average 2 ms per block)
     (version 19.16.1.1) (from [::1]:3624) (in query: INSERT INTO distributed_00952 VALUES ), Stack trace:

    2. 0x7ffff7be92e0 DB::Exception::Exception() dbms/src/Common/Exception.h:27
    3. 0x7fffec5da4e9 DB::checkBlockStructure<void>(...)::{...}::operator()(...) const dbms/src/Core/Block.cpp:460
    4. 0x7fffec5da671 void DB::checkBlockStructure<void>(...) dbms/src/Core/Block.cpp:467
    5. 0x7fffec5d8d58 DB::assertBlocksHaveEqualStructure(...) dbms/src/Core/Block.cpp:515
    6. 0x7fffec326630 DB::RemoteBlockOutputStream::write(DB::Block const&) dbms/src/DataStreams/RemoteBlockOutputStream.cpp:68
    7. 0x7fffe98bd154 DB::DistributedBlockOutputStream::runWritingJob(DB::DistributedBlockOutputStream::JobReplica&, DB::Block const&)::{lambda()#1}::operator()() const dbms/src/Storages/Distributed/DistributedBlockOutputStream.cpp:280
    <snip>
    ````

Fixes: #7365
Fixes: #5429
Refs: #6891

* Cover INSERT into Distributed with MATERIALIZED columns and !is_local node

I guess that adding new cluster into server-test.xml is not required,
but it won't harm.

* Update DistributedBlockOutputStream.cpp
2019-10-24 12:35:09 +03:00
alesapin
a6199b7e69 Merge with master 2019-10-24 12:33:40 +03:00
Azat Khuzhin
80cf86f100 Cover INSERT into Distributed with MATERIALIZED columns and !is_local node
I guess that adding new cluster into server-test.xml is not required,
but it won't harm.
2019-10-23 21:55:08 +03:00
Amos Bird
295864e6e0
better scalar query 2019-10-23 21:37:54 +08:00
alesapin
ff7850cfbd Remove strange code in favor of less strange code 2019-10-21 17:59:35 +03:00
alesapin
35e66d6696 Merge with master 2019-10-21 11:46:11 +03:00
millb
f64f6658ce Merge branch 'master' into url_engine_problem 2019-10-21 11:44:31 +03:00
alesapin
cdc195727e Fix some races from lazy load and add ugly interface to loader (need to be refactored) 2019-10-18 19:04:09 +03:00
tavplubix
0046b9f137 Wait for jobs to finish on exception (fixes rare segfaults) (#7350) 2019-10-17 17:41:27 +03:00
alesapin
155731a676 Merge branch 'master' into dictionaries_ddl_interpreter 2019-10-14 11:49:18 +03:00
Vitaly Baranov
12d1d87d64 Move authentication code to a separate class. 2019-10-11 00:18:52 +03:00
alesapin
2a5713e6e4 Compilable code 2019-10-10 23:47:47 +03:00
millb
350f0b8a1c Merge remote-tracking branch 'origin/url_engine_problem' into url_engine_problem 2019-10-10 16:47:17 +03:00
millb
a00089f0b4 Renamed StorageOfAllowedURL -> RemoteHostFilter 2019-10-10 15:58:06 +03:00
Mikhail Korotov
769ec9ea6c
Update config.xml 2019-10-10 01:22:05 +03:00
millb
a97739f67f Created class StorageOfAllowedURL
Created test for table function remote and remoteSecure
Created check allowed url in remote and remoteSecure
Fixed tests
2019-10-09 23:29:41 +03:00
Alexey Milovidov
a19f6513ce Added example config with macros 2019-10-09 04:15:23 +03:00
alexey-milovidov
5c2d478543
Merge pull request #7212 from ClickHouse/aku/field-includes
Include Field.h and FieldVisitor.h into fewer files.
2019-10-08 22:40:30 +03:00
alexey-milovidov
b9aa5d812d
Merge pull request #7171 from nikvas0/nikvas0/lazy_db
Lazy Database
2019-10-08 22:15:55 +03:00
Alexander Kuzmenkov
367c537106 Do not include Field.h everywhere through SettingsCommon.h.
Move the methods of SettingsCollection<> that are dependent on Field to
a separate file, and include it once for each instantiation. This allows
to work on Field without always recompiling the entire project.
2019-10-07 20:23:05 +03:00
proller
594c535bd4 Build fixes (#7063)
* Build fixes

*            fix

* Fix

* fix

* Fix install(export..

* Freebsd fixes

* Freebsd fixes

* Fix warning

* fix

* More PRIVATE linking

* Fix review

* Timmy

* fix

* fix
2019-10-05 22:25:31 +03:00
Vasilyev Nikita
5793a02ef9 impr Lazy database 2019-10-01 15:44:17 +03:00
Azat Khuzhin
740e4c5851
Avoid use of uninitialized values in MetricsTransmitter
Defer thread creation after values had been initialized correctly.
2019-10-01 10:16:39 +03:00
millb
9246f258e8 Created ability to configure allowed URL in config.xml without tests. 2019-09-30 18:29:05 +03:00
alesapin
4fdb5a61e5 Rename ExternalDictionaries to ExternalDictionariesLoader 2019-09-26 13:41:33 +03:00
Ivan Lezhankin
4b143c3e0f Merge remote-tracking branch 'upstream/master' into issue-6459 2019-09-23 16:07:19 +03:00
Alexey Milovidov
70bc89557f Updates for #6969 2019-09-23 01:57:06 +03:00
Azat Khuzhin
59763cbb3a
Add ability to send events with absolute values to graphite
<events> sends only deltas for events, while sometimes it is more
convenient to get absolute values (for example to calculate rate).

This patch introduces another directive -- <events_absolute> that will handle
this.

v0: use <events> as bool/string
v2: use <events_absolute>true</events_absolute> over <events>absolute</events>
2019-09-21 02:46:47 +03:00
Ivan Lezhankin
9e46118edd Merge remote-tracking branch 'upstream/master' into issue-6459 2019-09-20 21:25:55 +03:00
Ivan Lezhankin
01fdb802d4 Useful changes 2019-09-15 13:35:12 +03:00
alesapin
02cff38fef Merge with master 2019-09-13 13:58:23 +03:00
Nikolai Kochetov
86bee0b8b5
Merge pull request #6684 from yandex/processors-2
Processors 2
2019-09-13 11:58:04 +03:00
alexey-milovidov
12c26e6013
Merge pull request #6891 from yandex/low_cardinality_in_native_http
Low cardinality in native http
2019-09-13 09:01:08 +03:00
Nikolai Kochetov
1319168a3a Merge branch 'master' into processors-2 2019-09-12 16:28:51 +03:00
Nikolai Kochetov
d7596e51b7 Removed convert_types_to_low_cardinality from NativeBlockInputStream. 2019-09-12 14:33:46 +03:00
Amos Bird
93c0880ca7 Fix non-ssl build. 2019-09-12 04:20:27 +08:00
Nikolai Kochetov
038aa82305 Update TCPHandler 2019-09-09 17:57:12 +03:00
Nikolai Kochetov
c9cca3ba8b Merged with master 2019-09-09 16:20:30 +03:00
alesapin
27419c965e Merge with master 2019-09-09 14:13:36 +03:00
Yuriy
6700314ce5 destroying context after executeQuery 2019-09-09 04:04:37 +03:00
alexey-milovidov
8389200229
Merge pull request #6832 from CurtizJ/merging_input_function
Merging #5450 (table function input).
2019-09-07 20:16:45 +03:00
filimonov
526afd44ed Make SensitiveDataMasker a singleton. (#6810)
Among other things, it is used to filter logs, which are being written even after the global server context is deinitialized, so we can't keep masker there.
2019-09-06 20:48:27 +03:00
Anton Popov
69da4f30b3
Merge branch 'master' into merging_input_function 2019-09-06 16:20:00 +03:00
Nikolai Kochetov
52305cefbc Merge branch 'merging-aggregated-processors' into processors-2 2019-09-06 15:21:17 +03:00
alesapin
b71faee8cd Merge branch 'master' into ObjatieGroba-feature_multiple_disks 2019-09-05 13:19:05 +03:00
Alexey Milovidov
a4c1d64aba Allowed to run test with the server run from source tree 2019-09-05 07:50:08 +03:00
alesapin
3ffa9fa972 Resolve conflict 2019-09-04 15:44:12 +03:00
CurtizJ
7accc09066 Merge branch 'palasonic-add-input-function' of https://github.com/palasonic1/ClickHouse into merging_input_function 2019-09-04 15:25:20 +03:00
Alexey Milovidov
ece7a05cec Added an example of query masking rules for developers 2019-09-04 02:07:08 +03:00
alexey-milovidov
b2e80b0cd9
Merge branch 'master' into query_masking 2019-09-03 22:58:15 +03:00
alexey-milovidov
5f33fd946f
Merge pull request #6711 from dimarub2000/exception_while_insert
Exception check added in client when sending insertion data.
2019-09-03 21:47:48 +03:00
Dmitry Rubashkin
40a056c79b Better naming. 2019-09-03 16:55:26 +03:00
Dmitry Rubashkin
ede0077df6 fix 2019-09-03 12:38:50 +03:00
Dmitry Rubashkin
d2b9990a2a Unexpected packets received in a better way now. 2019-09-03 12:36:16 +03:00
Nikolai Kochetov
bf0c0ed4f1 Merge branch 'master' into processors-2 2019-09-02 16:02:09 +03:00
alesapin
e7ee9b7a67 Merge master 2019-09-02 11:46:00 +03:00
Alexey Milovidov
4ebf610808 Disable query profiler with sanitizers 2019-09-01 19:21:54 +03:00
alesapin
1813b96f82 Finally build, possible trash. 2019-08-29 19:17:47 +03:00
Ivan
b4339f266d
Make a better build scheme (#6500)
* Fix shared build
* Major default libs refactor
* Fix build with gcc_eh
* Link all libraries as a big group.
* Use global interface library as a group
* Build capnproto using our cmake
* Use only internal libunwind
2019-08-28 23:49:37 +03:00
Nikolai Kochetov
4cb52cebea Update max_threads for processors. 2019-08-27 21:37:28 +03:00
Alexey Milovidov
60d660e263 Merge branch 'master' into merge-constraints 2019-08-26 16:13:44 +03:00
alesapin
062034dfd8 Eventually merged with master 2019-08-26 13:07:32 +03:00
Alexey Milovidov
3fef8e92ad Merging CONSTRAINTS support 2019-08-25 00:20:20 +03:00
Gleb Novikov
86fecc7501 Merge branch 'master' into table-constraints 2019-08-20 12:17:56 +03:00
alesapin
a85cdc91a6 Merge branch 'master' into ObjatieGroba-feature_multiple_disks 2019-08-19 11:34:02 +03:00
alesapin
e7542810bb Merge with master 2019-08-19 11:20:48 +03:00
alexey-milovidov
29cc99ad58
Merge pull request #6194 from yurriy/mysql
Compatibility with more MySQL clients.
2019-08-18 16:28:13 +03:00
Yuriy
c5b6d1f9bf merged origin/master 2019-08-15 19:48:10 +03:00
Gleb Novikov
d41bb1fc19 Reverted server config.xml 2019-08-14 22:52:39 +03:00
Gleb Novikov
ab1c4139de Added ReplicatedMergeTree support and test for constraints, also added VIOLATED_CONSTRAINT error 2019-08-14 22:51:03 +03:00
Nikita Mikhaylov
e83482b512 metric_log.xml 2019-08-14 20:21:45 +03:00
alesapin
bccf62100f Revert check 2019-08-14 18:25:57 +03:00
Nikita Mikhaylov
15bbf080f3 changes after review 2019-08-14 15:54:41 +03:00
alesapin
949890ee90 Merged 2019-08-14 12:46:30 +03:00
alesapin
428c753ed7 Merge with master 2019-08-13 11:37:47 +03:00
Alexey Milovidov
5830526fa1 Slightly better information messages 2019-08-11 23:37:53 +03:00
kreuzerkrieg
112fc71276 adding -Wshadow for GCC 2019-08-09 23:58:16 +03:00
alesapin
2803fcc2ba Make atomic settings 2019-08-09 16:07:19 +03:00
Alexey Milovidov
d256fb9d57 Removed extra verbose logging from MySQL handler 2019-08-07 22:14:58 +03:00
alexey-milovidov
a455bd7355
Merge pull request #6348 from Vxider/master
build fix
2019-08-06 17:24:22 +03:00
Vxider
42287c0b72 format code 2019-08-06 22:04:51 +08:00