Vitaly Baranov
0cccba62cf
Support getHexUIntLowercase() with CityHash_v1_0_2::uint128 parameter.
2023-06-29 15:29:37 +02:00
Vitaly Baranov
fb6243ec9d
Merge pull request #51040 from vitlibar/reorder-part-checksum-halves
...
Show halves of checksums in correct order
2023-06-29 12:04:51 +02:00
Vitaly Baranov
5570863676
Merge branch 'master' into reorder-part-checksum-halves
2023-06-28 17:25:34 +02:00
Nikita Mikhaylov
d24c5ab01f
Merge branch 'master' into fix-ip-aggregate-state
2023-06-27 14:11:26 +02:00
Alexey Milovidov
03570cc733
Merge branch 'remove-console-certificate-handler' into many-fixes
2023-06-27 05:27:25 +02:00
Alexey Milovidov
0e88aae9d7
Remove ConsoleCertificateHandler
2023-06-26 04:27:50 +02:00
Vitaly Baranov
71cded08ff
Remove unnecessary include <city.h> from wide_integer_impl.h
2023-06-25 18:44:29 +02:00
Vitaly Baranov
3711430d9f
Rename member fields of CityHash_v1_0_2::uint128: "first" -> "low64", "second" -> "high64".
2023-06-24 12:25:56 +02:00
Alexey Milovidov
786987a29a
Remove garbage from function transform
2023-06-24 05:49:12 +02:00
Alexey Milovidov
c097e6e53d
Merge pull request #50531 from kitaisreal/jit-infrastructure-refactoring
...
JIT infrastructure refactoring
2023-06-20 21:13:44 +03:00
Maksim Kita
7e5017dd31
Fixed tests
2023-06-20 11:42:22 +03:00
Alexander Tokmakov
b4e455430c
Merge branch 'master' into rmt_better_background_tasks_scheduling
2023-06-17 22:19:21 +03:00
Yakov Olkhovskiy
cf301324fb
Merge branch 'master' into fix-ip-aggregate-state
2023-06-16 12:49:17 -04:00
Nikolay Degterinsky
9ad8e022a8
Merge branch 'master' into update-mongo
2023-06-10 10:58:02 +02:00
Yakov Olkhovskiy
b9df4304d4
Merge branch 'master' into fix-ip-aggregate-state
2023-06-09 10:06:43 -04:00
Yakov Olkhovskiy
393c0c3a4f
Merge pull request #50240 from aalexfvk/fix_https_replication_changed_ip_bug
...
Fix reconnecting of HTTPS session when target host IP was changed
2023-06-08 08:58:48 -04:00
Alexander Tokmakov
d2aa1779ed
Merge branch 'master' into rmt_better_background_tasks_scheduling
2023-06-07 14:58:50 +02:00
Yakov Olkhovskiy
760483d8d3
multiple fixes
2023-06-06 04:18:51 +00:00
Yakov Olkhovskiy
34c4b89b16
fix backward compatibility for IP types hashing in aggregate functions
2023-06-04 16:23:34 +00:00
Alexey Milovidov
8c1091dc58
Merge branch 'master' into fix-secure-async-read-write
2023-06-04 05:06:59 +03:00
alekar
cb85e5a01e
Update base/base/getMemoryAmount.cpp
...
Co-authored-by: Sergei Trifonov <svtrifonov@gmail.com>
2023-05-31 10:00:43 -07:00
alekar
495580918a
Update base/base/getMemoryAmount.cpp
...
Co-authored-by: Sergei Trifonov <svtrifonov@gmail.com>
2023-05-31 10:00:19 -07:00
alekar
64cc0a4a69
Merge branch 'master' into minor-cgroup-improvements
2023-05-31 01:52:38 -07:00
Manas Alekar
65586c50f5
Minor improvements in CGroup awareness.
...
1. Support CGroup2 in getMemoryAmountOrZero().
2. Report CFS period and quota in asynchronous metric log.
2023-05-31 01:52:02 -07:00
avogar
ef9bae50b9
Fix bugs in Poco, use true non-blocking IO
2023-05-26 23:11:57 +00:00
Aleksei Filatov
2a2c35e4c1
Fix changed IP for https session
2023-05-26 09:08:34 +03:00
Alexander Tokmakov
b8305503d8
more flexible cleanup thread scheduling
2023-05-22 19:07:18 +02:00
Nikolay Degterinsky
183f90e45a
Update MongoDB protocol
2023-05-22 09:05:23 +00:00
Azat Khuzhin
65dd87d0da
Fix "reference binding to misaligned address" in PackedHashMap
...
Use separate helpers that accept/return values, instead of reference,
anyway PackedHashMap is developed for small structure.
v0: fix for keys
v2: fix for values
v3: fix bitEquals
v4: fix for iterating over HashMap
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-05-19 06:07:21 +02:00
Nikita Taranov
3f6ca2f9e8
Backport fix for UBSan error in musl/logf.c
2023-05-09 19:05:40 +02:00
Alexey Milovidov
900f8e50e3
Fix one-off error found by UBSan
2023-05-08 04:08:13 +02:00
Alexey Milovidov
355d5af786
Remove some code
2023-05-06 18:33:45 +02:00
ltrk2
20cd799e51
Add CMake option for BOOST_USE_UCONTEXT
2023-05-05 16:29:21 +00:00
Nikolay Degterinsky
434aa3e4e0
Fix build
2023-04-28 18:54:18 +00:00
alesapin
6fecdef0fe
Fix glibc compatibility check
2023-04-25 15:35:28 +02:00
Vladimir C
6090648fc8
Merge pull request #43606 from arthurpassos/parsey_key_value_function
2023-04-24 11:03:28 +02:00
Alexey Milovidov
ff5ec30b0b
Merge pull request #49005 from ClickHouse/fix-ibm
...
Reimplement #48986
2023-04-24 01:39:22 +03:00
Robert Schulze
bb09ce2516
Remove some stuff from poco
2023-04-23 14:48:45 +00:00
Alexey Milovidov
b46b0f02e3
Remove some code
2023-04-23 07:29:53 +02:00
Alexey Milovidov
30c3ae6907
Remove some code
2023-04-23 07:27:47 +02:00
Alexey Milovidov
7d7de1702f
Remove some code
2023-04-23 07:24:50 +02:00
Alexey Milovidov
5628ff2c3f
Remove some code
2023-04-23 06:50:42 +02:00
Alexey Milovidov
28e03f5781
Merge branch 'master' into fix-ibm
2023-04-23 06:01:41 +02:00
alekseygolub
e78f1220fb
Merge branch 'ClickHouse:master' into dashedsettings
2023-04-23 00:47:39 +03:00
Alexey Milovidov
252c755323
Merge branch 'master' of github.com:ClickHouse/ClickHouse into fix-ibm
2023-04-21 12:39:13 +02:00
Alexey Milovidov
530b764953
Fix IBM
2023-04-21 12:38:45 +02:00
alekseygolub
c974dc0de6
Merge branch 'master' into dashedsettings
2023-04-21 11:25:42 +03:00
Aleksei Golub
1ec5773dc6
Added dashed-settings and support for unicode dash in cli arguments
2023-04-20 20:11:28 +03:00
Arthur Passos
43841a6ee6
Merge branch 'master' into parsey_key_value_function
2023-04-20 10:05:34 -03:00
Kruglov Pavel
2ad161d2b7
Merge branch 'master' into non-blocking-connect
2023-04-19 13:39:40 +02:00
Kruglov Pavel
cd88024a33
Merge pull request #48556 from ClickHouse/fix-nested-map-ip-uuid
...
Fix nested map for keys of IP and UUID types
2023-04-18 13:03:50 +02:00
Alexey Milovidov
a8a713b5c0
Even better
2023-04-14 22:50:10 +02:00
Alexey Milovidov
b143dd3dae
Reimplement #48790
2023-04-14 22:31:17 +02:00
Dmitry Novik
5cc9b46f78
Merge remote-tracking branch 'origin/master' into optimize-compilation
2023-04-13 16:04:09 +02:00
Arthur Passos
b062ab5b4f
Merge branch 'master' into parsey_key_value_function
2023-04-10 10:32:01 -03:00
Alexey Milovidov
a7db8d1d71
Merge pull request #48569 from awfeequdng/bugfix/wide_integer
...
bugfix: compare Bits and sizeof(Arithmetic) * 8
2023-04-10 07:25:51 +03:00
caipengxiang
286424be05
bugfix: compare Bits and sizeof(Arithmetic) * 8
2023-04-09 22:59:17 +08:00
Yakov Olkhovskiy
054078e06d
fix nested map for keys of IP and UUID types
2023-04-08 05:34:35 +00:00
Arthur Passos
b48c39bf87
use std::array instead of std::vector
2023-04-07 10:01:07 -03:00
Arthur Passos
ebd22e92ce
more docs / comments
2023-04-05 11:53:13 -03:00
Robert Schulze
62608f74d3
Merge pull request #48396 from ClickHouse/rs/clang-tidy-cleanup
...
Cleanup mess in .clang-tidy
2023-04-05 14:39:28 +02:00
Robert Schulze
0a71656ee6
Fix build
2023-04-05 08:45:59 +00:00
Arthur Passos
474377c16f
remove debug find functions and replace SearchSymbols assertion with an exception, check with upstream preferred way
2023-04-04 16:14:56 -03:00
Arthur Passos
e656ab685c
fix sse42 not defined build
2023-04-04 08:16:55 -03:00
Arthur Passos
22367f84e6
fix undefined mm_is_in_prepare
2023-04-03 18:26:30 -03:00
avogar
a4fecb75de
Try fix compatibility check, add expf and scalbnf implementation from musl
2023-04-03 19:05:22 +00:00
Arthur Passos
aee9ccb27a
validated output against main test case, performance is not the same as before, but still good
2023-04-03 12:45:29 -03:00
Azat Khuzhin
81e635a293
Mark operator constexpr in Strongtypedef
2023-04-01 16:00:03 +02:00
Sema Checherinda
10f1030a14
Merge pull request #47147 from aletik256/fix_JSON_searchField
...
fix_JSON_searchField
2023-03-28 14:45:09 +02:00
Jordi Villar
4eafb1ae6b
Fix tests
2023-03-27 18:16:07 +02:00
Jordi Villar
c39d931ef7
Fix wide_integer_impl.h compilation in macOS M1
2023-03-27 18:16:07 +02:00
Vasily Nemkov
ce608b135f
Fixed implementation of find_first_symbols_sse42 run-time needle
...
Added some tests
2023-03-25 23:18:51 +01:00
Vasily Nemkov
e22eee8055
Updated implementation of find_first_symbols for run-time needle
...
Implemented compile-time and run-time dispatching between SSE4.2 and SSE2 implementations
Added find_first_symbols_sse2
Added tests
2023-03-24 15:45:12 +01:00
Kruglov Pavel
3ee12e21fb
Merge branch 'master' into non-blocking-connect
2023-03-23 20:53:44 +01:00
MeenaRenganathan22
08583c8405
Fixed the style issue
2023-03-23 07:17:37 -07:00
MeenaRenganathan22
5e95a37c52
Fix decimal-256 text output issue on s390x
2023-03-23 07:05:51 -07:00
Sema Checherinda
1c87bfe475
Merge branch 'master' into fix_JSON_searchField
2023-03-22 19:29:50 +01:00
Dmitry Novik
8c3f3f437f
Atempt to avoid including Decimal.h all over the code
2023-03-22 02:33:10 +01:00
Arthur Passos
cceb1b278c
Merge branch 'master' into parsey_key_value_function
2023-03-20 15:27:37 -03:00
Arthur Passos
c12869681b
move runtime find_first_symbols to find_symbols.h
2023-03-20 15:26:00 -03:00
Robert Schulze
5b036a1a3b
More preparation for libcxx(abi), llvm, clang-tidy 16 (follow-up to #47722 )
2023-03-20 12:55:03 +00:00
Kruglov Pavel
1d12e85d55
Merge branch 'master' into non-blocking-connect
2023-03-20 13:23:55 +01:00
Alexey Milovidov
ddf29b69f9
Merge branch 'master' into fuzzer-of-data-formats
2023-03-20 03:26:51 +03:00
Robert Schulze
0e01e912fe
Preparation for libcxx(abi), llvm, clang-tidy 16
2023-03-19 17:25:41 +00:00
Alexey Milovidov
2a077f11f6
Merge branch 'master' into fuzzer-of-data-formats
2023-03-19 01:07:31 +01:00
Robert Schulze
f72a337074
Remove cruft from build
...
No need to check compiler flags, clang >= 15 supports all of them.
2023-03-17 13:44:04 +00:00
Alexey Milovidov
92a5b81222
Merge branch 'master' of github.com:ClickHouse/ClickHouse into fuzzer-of-data-formats
2023-03-15 23:59:16 +01:00
avogar
17f5356178
Improve async reading from socket
2023-03-15 12:18:08 +00:00
Alexey Milovidov
bb6b775884
Merge branch 'master' into fuzzer-of-data-formats
2023-03-15 12:42:00 +01:00
Robert Schulze
5cee479f0c
Merge pull request #47424 from ClickHouse/rs/compile-with-cpp23
...
Compile with C++23
2023-03-15 10:55:42 +01:00
Sema Checherinda
95e994a9cd
Merge pull request #47304 from arthurpassos/fix_find_first_not_symbols
...
Modify find_first_symbols so it works as expected for find_first_not_symbols
2023-03-14 14:24:05 +01:00
Alexander Tokmakov
ba6c6255a3
hide too noisy log messages, fix some tests
2023-03-14 00:23:36 +01:00
Alexey Milovidov
f33b651686
Add fuzzer for data formats
2023-03-13 04:51:50 +01:00
Robert Schulze
348a40aa5d
Compile with C++23
2023-03-10 19:11:58 +00:00
Mike Kot
9920a52c51
use std::lerp, constexpr hex.h
2023-03-07 22:50:17 +00:00
Arthur Passos
a42dee5bed
Merge branch 'ClickHouse:master' into fix_find_first_not_symbols
2023-03-07 12:19:23 -03:00
Arthur Passos
e992003b7a
add missing c10
2023-03-07 10:20:41 -03:00
Arthur Passos
bf365cec8c
Modify find_first_symbols so it works as expected for find_first_not_symbols
2023-03-07 10:08:04 -03:00
Kseniia Sumarokova
a9a0d2f5c4
Merge pull request #46524 from artem-yadr/master
...
Support for MongoDB Replica Set URI with readPreference and host:port enum in MongoDB dictionaries
2023-03-07 11:40:33 +01:00
Mike Kot
4bc443f3c7
initial solution
2023-03-06 19:35:00 +03:00
Aleksei Tikhomirov
82cc4afdd6
fix_JSON_searchField
2023-03-03 12:33:28 +03:00
Alexey Milovidov
97c0f8a0e0
Merge pull request #47027 from amosbird/clang16
...
Prepare to build with clang 16
2023-03-02 02:10:03 +03:00
Amos Bird
62d011d0c0
Provide more glibc compatibility symbols
...
These are needed by newer capnp. musl does the following:
#define fallocate64 fallocate
#define pwritev64 pwritev
2023-03-01 15:12:43 +08:00
Amos Bird
8162446496
The three-way comparison operator
...
Please refer to
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2468r2.html
for more information on why it is necessary to modify the code in this
way.
2023-03-01 11:06:34 +08:00
artem-yadr
f53b65a7cc
small fix
2023-02-28 21:01:03 +03:00
Robert Schulze
6697059bad
Fix statx on ARM
2023-02-28 13:17:18 +00:00
artem-yadr
385beda888
Update base/poco/MongoDB/include/Poco/MongoDB/Connection.h
...
Co-authored-by: Kseniia Sumarokova <54203879+kssenii@users.noreply.github.com>
2023-02-27 16:25:12 +03:00
artem-yadr
7684153100
Redeclaration error fix
2023-02-27 16:18:08 +03:00
Robert Schulze
b20ac16d08
Slightly easier to read SyntaxExceptions
...
E.g. exception text for input '2 ':
- before:
Syntax error: Not a valid integer: 2
- now:
Syntax error: Not a valid integer: '2 '
2023-02-26 15:17:28 +00:00
Robert Schulze
052010592c
Poco: Remove some dead code
2023-02-23 10:13:07 +00:00
Robert Schulze
4fd4e77737
Poco: POCO_HAVE_INT64 is always defined
2023-02-22 13:48:29 +00:00
Alexey Milovidov
d8cda3dbb8
Remove PVS-Studio
2023-02-19 23:30:05 +01:00
Ilya Yatsishin
92843987ed
Merge pull request #46553 from ClickHouse/fix-strange-whitespaces
2023-02-18 19:04:56 +01:00
Alexey Milovidov
1f1cd1b22c
Whitespaces
2023-02-18 15:27:09 +01:00
bkuschel
55e9322612
Fixes for OpenSSL and s390x
2023-02-17 16:20:21 -05:00
artem-yadr
4999d6cb1a
Update Connection.h
2023-02-17 01:58:31 +03:00
artem-yadr
83dbde476b
move brackets and delete newline
2023-02-17 01:53:42 +03:00
artem-yadr
4a2efc339b
Header fix
2023-02-17 01:47:36 +03:00
artem-yadr
81f5f9708d
Added support for MongoDB Replica Set URI with enumiration
2023-02-17 01:39:23 +03:00
Robert Schulze
44afecf083
Remove more unused files
2023-02-15 09:40:18 +00:00
Robert Schulze
8fc46f6ea1
Remove POCO_DLL
2023-02-15 09:29:37 +00:00
Robert Schulze
91298b3617
Remove POCO_WIN32_UTF8
2023-02-15 09:28:48 +00:00
Robert Schulze
e4298ebbb3
Remove WinCE
2023-02-14 22:13:37 +00:00
Robert Schulze
3f99daf86d
Remove Windows
2023-02-14 22:13:11 +00:00
Robert Schulze
ac14941b84
Remove VMS
2023-02-14 22:12:22 +00:00
Robert Schulze
bc1f5f8464
Remove DEC true unix
2023-02-14 22:11:17 +00:00
Robert Schulze
cd7f6b7f0e
Remove qnx
2023-02-14 22:10:22 +00:00
Robert Schulze
1780bba532
Remove vxworks
2023-02-14 22:09:58 +00:00
Robert Schulze
20eb1d83ba
Remove cygwin
2023-02-14 22:09:22 +00:00
Robert Schulze
1942ea6f29
Remove further legacy compiler support from poco
2023-02-14 22:07:38 +00:00
Robert Schulze
144005319d
Remove MSVC support from poco
2023-02-14 22:05:27 +00:00
Robert Schulze
acf3185366
Merge pull request #46259 from ClickHouse/rs/fix-poco-style
...
Run clang-format over poco
2023-02-14 22:52:02 +01:00
Robert Schulze
61e315f30d
Merge pull request #45520 from ClibMouse/z-build-0120
...
s390x build support
2023-02-14 10:01:38 +01:00
Alexey Milovidov
f57ba896c8
Merge pull request #46181 from saitama951/master-sanjam
...
IBM's s390x architecture: Issue #2053 - conversion of 256 bit to 128 bit
2023-02-14 09:34:17 +03:00
Suzy Wang
e140bed3ea
Merge branch 'master' into z-build-0120
2023-02-13 09:06:48 -05:00
Robert Schulze
9f4ffc95ce
Fix non-self-contained headers
2023-02-13 09:34:24 +00:00
Robert Schulze
e30ca4e376
Run clang-format over poco Data
2023-02-13 09:34:12 +00:00
Robert Schulze
e6b93b9150
Remove unused poco AIX patch
2023-02-13 09:24:30 +00:00
Robert Schulze
d3bcfbb2a5
Run clang-format over poco Foundation Mongo Net NetSSL_OpenSSL Util
2023-02-13 09:22:33 +00:00
Robert Schulze
c73a8bded3
Run clang-format over poco JSON Redis Crypto
2023-02-13 09:20:48 +00:00
Robert Schulze
fc7c90cd94
Run clang-format over poco xml
2023-02-13 09:00:23 +00:00
Jordi Villar
331662b1a7
Fix macOs compilation due to sprintf
2023-02-11 13:20:56 +01:00
Alexey Milovidov
17d325c407
Merge pull request #46163 from DimasKovas/fix_precise_exp_10_license_notice
...
Remove excessive license notices from preciseExp10.cpp
2023-02-11 06:05:23 +03:00
Robert Schulze
38b6f89d68
Fix FreeBSD build
2023-02-10 13:28:06 +00:00
Robert Schulze
81e943c7f8
More spelling fixes
2023-02-10 11:20:48 +00:00
Robert Schulze
06e1293909
Fix duplicate includes in poco
2023-02-10 10:50:18 +00:00
Robert Schulze
8144c28c3b
Fix spelling
2023-02-10 10:49:55 +00:00
Robert Schulze
d44c6dd1b3
Merge pull request #46133 from ClickHouse/rs/fix-warnings-in-poco
...
Stricter warnings + fix whitespaces in poco
2023-02-10 11:46:33 +01:00
Suzy Wang
64313d7020
Merge branch 'master' into z-build-0120
2023-02-09 14:49:22 -05:00
Robert Schulze
1c553a2201
Fix ARM and PPC builds
2023-02-09 09:58:27 +00:00
Alexey Milovidov
4c7f30ef56
Update preciseExp10.cpp
2023-02-09 11:55:28 +03:00
Dmitrii Kovalkov
78446b46d9
Return note about function name in preciseExp10.h
2023-02-09 07:29:51 +03:00
Alexey Milovidov
8392b35d50
Speed up countDigits
2023-02-09 04:39:12 +01:00
Alexander Tokmakov
8101b044fa
Merge pull request #46091 from azat/sanity-assertions
...
Sanity assertions for closing file descriptors
2023-02-09 01:02:03 +03:00
Robert Schulze
28ddee7b58
More warning exclusions in poco odbc
2023-02-08 18:34:56 +00:00
sanjam
e8965543c3
Issue #2053 - conversion of 256 bit to 128 bit
2023-02-08 18:29:13 +00:00
Robert Schulze
74b892c0b9
Fix FreeBSD build
2023-02-08 15:40:49 +00:00
Robert Schulze
53f8ee85e5
Fix warnings in poco odbc
2023-02-08 15:30:05 +00:00
Dmitrii Kovalkov
fbea504ea1
Remove excessive license notices from preciseExp10.cpp
2023-02-08 16:12:21 +03:00
Robert Schulze
537a697f65
Fix whitespaces
2023-02-08 11:36:52 +00:00
Robert Schulze
65cbfdf5c6
Fix warnings in poco json
2023-02-08 11:26:36 +00:00
Robert Schulze
64afe8be0b
Fix warnings in poco xml
2023-02-08 11:26:36 +00:00
Robert Schulze
1838c8912a
Fix warnings in poco netssl_openssl
2023-02-08 11:26:36 +00:00
Robert Schulze
353ef8b451
Fix warnings in poco mongodb
2023-02-08 11:26:36 +00:00
Robert Schulze
4ee6ac8dec
Fix warnings in poco utils
2023-02-08 11:26:36 +00:00
Robert Schulze
c0ca2db7ab
Fix warnings in poco data
2023-02-08 11:26:36 +00:00
Robert Schulze
b0f2c98940
Fix warnings in poco net
2023-02-08 11:26:36 +00:00
Robert Schulze
3a339f8b02
Fix warnings in poco crypto
2023-02-08 11:23:51 +00:00
Robert Schulze
8dd0a465f5
Fix warnings in poco redis
2023-02-08 11:22:07 +00:00
Robert Schulze
ba15cf834d
Fix warnings in poco foundation
2023-02-08 11:22:05 +00:00
Robert Schulze
f002698e09
More fine-granular warning relaxation
2023-02-08 11:21:59 +00:00
Robert Schulze
b79ead9c84
Move poco to base/poco/ ( #46075 )
...
* Replicate poco into base/poco/
* De-register poco submodule
* Build poco from ClickHouse
* Exclude poco from stylecheck
* Exclude poco from whitespace check
* Exclude poco from typo check
* Remove x bit from sources/headers (the style check complained)
* Exclude poco from duplicate include check
* Fix fasttest
* Remove contrib/poco-cmake/*
* Simplify poco build descriptions
* Remove poco stuff not used by ClickHouse
* Glob poco sources
* Exclude poco from clang-tidy
2023-02-08 12:04:11 +01:00
Azat Khuzhin
a88903f276
Do not execute expressions inside chassert() in release builds (with sizeof() trick)
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-02-07 17:39:16 +01:00
Azat Khuzhin
ec171c1732
Improve abortOnFailedAssertion() usage from chassert()
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-02-07 13:03:47 +01:00
Azat Khuzhin
fc48f89b76
Improve chassert() macro to suppress warning in release builds
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-02-06 20:13:17 +01:00
Suzy Wang
716d2c4ffb
Update as suggested
2023-02-02 20:41:06 +00:00
Suzy Wang
19d26828a0
s390x build support
2023-01-20 21:16:55 +00:00
serxa
b1407b1070
fix TSA support
2023-01-10 01:19:42 +00:00
serxa
d561f66419
more TSA support
2023-01-09 16:48:39 +00:00
Yakov Olkhovskiy
7a5a36cbed
Merge branch 'master' into refactoring-ip-types
2023-01-04 11:11:06 -05:00
Robert Schulze
27f5aad49e
What happens if I remove 156 lines of code?
2023-01-03 18:51:16 +00:00
Alexey Milovidov
e855d3519a
Merge branch 'master' into refactoring-ip-types
2023-01-02 21:58:53 +03:00
Nikita Mikhaylov
ffaff7167b
Fix flaky tests ( #44690 )
2022-12-29 14:32:10 +01:00
Azat Khuzhin
b7f92454bf
Move LineReader/ReplxxLineReader out from base
...
This will simplify linking dependencies, and anyway this classes are not
base in any sense.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-27 14:23:51 +01:00
Azat Khuzhin
83cad3625b
Remove unused setTerminalEcho()
...
It had been replaced with readpassphrase in #5092
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-27 14:23:51 +01:00
Azat Khuzhin
4d17510fca
Use already written part of the query for fuzzy search (pass to skim)
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-26 14:52:38 +01:00
Yakov Olkhovskiy
a8cb29da4b
Merge branch 'master' into refactoring-ip-types
2022-12-21 23:56:24 -05:00
Azat Khuzhin
cf0e0436be
skim: do not panic if terminal is not available
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-14 21:01:48 +01:00
Azat Khuzhin
082f57c40d
clickhouse-client: rebind original non-fuzzy search to C-T
...
I decided to bind fuzzy to a regular C-R, so that everyone will notice
it, and keep an old behaviour for expect tests, or if someone do not
need fuzzy search (or want blasignly fast search, since skim is slightly
slower).
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-14 21:01:48 +01:00
Azat Khuzhin
82aaad61aa
Integrate skim into the client/local
...
Note, that it can the fail the client if the skim itself will fail,
however I haven't seen it panicd, so let's try.
P.S. about adding USE_SKIM into configure header instead of just compile
option for target, it is better, because it allows not to recompile lots
of C++ headers, since we have to add skim library as PUBLIC. But anyway
this will be resolved in a different way, but separatelly.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-14 20:57:41 +01:00
Azat Khuzhin
67fa185611
Revert "Builtin skim"
2022-12-14 17:17:19 +03:00
Alexey Milovidov
df17d1b71b
Merge branch 'master' into builtin-skim
2022-12-13 03:33:42 +03:00
Azat Khuzhin
9ed6aa0be1
Fix -Wshorten-64-to-32 on FreeBSD
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-12 08:05:28 +01:00
Azat Khuzhin
de58e9c02d
Integrate skim into the client/local
...
Note, that it can the fail the client if the skim itself will fail,
however I haven't seen it panicd, so let's try.
P.S. about adding USE_SKIM into configure header instead of just compile
option for target, it is better, because it allows not to recompile lots
of C++ headers, since we have to add skim library as PUBLIC.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-11 15:52:00 +01:00
Boris Kuschel
592c73e2c3
Merge branch 'master' into openssl_support
2022-12-09 20:21:22 -05:00
Yakov Olkhovskiy
0641066183
Merge branch 'master' into refactoring-ip-types
2022-12-08 11:12:05 -05:00
Antonio Andelic
b068119d27
Merge pull request #43498 from azat/client/improve-fuzzy-search
...
Improve fuzzy search in clickhouse-client/clickhouse-local
2022-12-08 14:07:52 +01:00
Boris Kuschel
cc3314acbe
Merge branch 'master' into openssl_support
2022-12-08 07:40:43 -05:00
Boris Kuschel
623f23f55d
OpenSSL cmake changes
2022-12-07 13:22:46 -05:00
Robert Schulze
3c1a721da4
Merge branch 'master' into hlee-s390x-wide-int-order
2022-12-04 18:47:00 +01:00
Yakov Olkhovskiy
77266ea754
cleanup
2022-11-29 17:34:16 +00:00
Yakov Olkhovskiy
b47cb522b5
revert StrongTypedef and fix test instead
2022-11-28 23:33:47 +00:00
Yakov Olkhovskiy
770b520ded
Merge branch 'master' into refactoring-ip-types
2022-11-28 08:50:19 -05:00
Robert Schulze
a00a020cfb
Merge pull request #42847 from ClibMouse/s390x_bit_cast
...
s390x datetime64 conversion fix
2022-11-28 11:45:43 +01:00
Yakov Olkhovskiy
c47f13afd5
explicit conversion for StrongTypedef
2022-11-26 03:36:01 +00:00
Azat Khuzhin
7a9adbc285
Escape shell arguments for fzf/skim
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-11-22 20:15:04 +01:00
Azat Khuzhin
59e647077d
Improve fuzzy search in clickhouse-client/clickhouse-local
...
I found few difference in sk/fzf and after this patch I think that it
should behave better.
So the following commands will be used by default:
- fzf --read0 --tac --tiebreak=index --height=30%
- sk --read0 --tac --tiebreak=-score --height=30%
Those two more or less allows true fuzzy reserve search.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-11-22 19:44:07 +01:00
Azat Khuzhin
14d4980e26
Fix repainting of the client prompt after fuzzy search
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-11-22 19:42:39 +01:00
Yakov Olkhovskiy
ac4b050644
style fix
2022-11-22 13:10:33 +00:00
Yakov Olkhovskiy
988b030bfd
bug fix, refactoring IPv6 to struct with overridden comparison
2022-11-22 12:57:19 +00:00
Suzy Wang
60119a97f7
fix build error
2022-11-17 20:38:22 -08:00
HarryLeeIBM
0133444433
Fix byte order issue of wide integer for s390x
2022-11-14 10:47:32 -08:00
Yakov Olkhovskiy
9aeebf3bdf
Merge branch 'master' into refactoring-ip-types
2022-11-14 09:21:54 -05:00
Yakov Olkhovskiy
4d144be39c
replace domain IP types (IPv4, IPv6) with native
2022-11-14 14:17:17 +00:00
Suzy Wang
f624143532
fix typo
2022-11-10 12:42:38 -08:00
Suzy Wang
84a8c02d78
Update typo and rm whitespaces
2022-11-10 12:32:40 -08:00
Raúl Marín
aaf8cc6ca8
Revert "Add global flags to base/ libraries"
...
This reverts commit 43e065c18e
.
2022-11-10 11:32:27 +01:00
Suzy Wang
73e5cd91c8
rm unnecessary include
2022-11-09 13:59:34 -08:00
Raúl Marín
39f4120655
Fix broken build
2022-11-09 13:21:59 +01:00
Raúl Marín
43e065c18e
Add global flags to base/ libraries
2022-11-09 11:24:20 +01:00
Suzy Wang
ba868801fa
Update as suggested
2022-11-08 20:51:35 -08:00
Raúl Marín
050f3ca7cf
Fix msan warning
2022-11-08 17:25:03 +01:00
Alexander Tokmakov
fc77d53db1
Merge pull request #43009 from azat/fix-tsan
...
Fix TSan errors (correctly ignore _exit interception)
2022-11-07 22:20:53 +03:00
Alexander Tokmakov
b4ecbbf224
Update safeExit.cpp
2022-11-07 21:07:09 +03:00
Azat Khuzhin
d6bfbeb95f
Fix TSan errors (correctly ignore _exit interception)
...
Because safeExit() does not includes header with defines, it does not
know about THREAD_SANITIZER.
And it also fixes Azure blob storage, actually everything is fine with
the sdk itself, the problem is only in TSan that intercepts _exit() and
report leak, even thoug that tread will be joined later.
Refs: #23056 (#23616 )
Fixes : #38474
Closes : #42640
Fixes : #42638
Fixes : #34988
Cc: @alexey-milovidov, @tavplubix
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-11-07 16:10:35 +01:00
Amos Bird
4c2b3de93d
Fix msan error
2022-11-04 22:08:14 +08:00
Amos Bird
a89e847514
Fix getauxval for sanitizer builds
2022-11-04 22:08:13 +08:00
Suzy Wang
9560306cdb
Update fix
2022-11-03 09:29:15 -07:00
Suzy Wang
80c4d27a89
reverse columnVector change and update new fix
2022-11-02 07:15:00 -07:00
Azat Khuzhin
4eeb7337ed
Merge remote-tracking branch 'upstream/master' into build/shorten-64-to-32
...
Conflicts:
- src/Common/intExp.h
- src/Functions/DateTimeTransforms.h
- src/Functions/FunctionsConversion.h
2022-10-21 22:51:56 +02:00
Azat Khuzhin
1e739791a4
Fix type error in itoa (wrong static_cast<>)
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-10-21 13:25:43 +02:00
Azat Khuzhin
0625a866f0
Add a note about incorrect wide_integer with Decimal
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-10-21 13:25:43 +02:00
Azat Khuzhin
7b28a80ad7
Fix -Wshorten-64-to-32 for amd64sse2 build
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-10-21 13:25:42 +02:00
Azat Khuzhin
4e76629aaf
Fixes for -Wshorten-64-to-32
...
- lots of static_cast
- add safe_cast
- types adjustments
- config
- IStorage::read/watch
- ...
- some TODO's (to convert types in future)
P.S. That was quite a journey...
v2: fixes after rebase
v3: fix conflicts after #42308 merged
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-10-21 13:25:19 +02:00
Alexey Milovidov
445487e073
Merge branch 'master' into add-test-658
2022-10-20 23:55:15 +02:00
Sema Checherinda
52f57cd1ee
Merge pull request #42080 from azat/client-fuzzy-history
...
Avoid adding extra new line after using fuzzy history search
2022-10-12 10:50:26 +02:00
Alexey Milovidov
8a066b5eef
Fix test
2022-10-11 01:28:36 +02:00
Alexander Tokmakov
ff03181d31
Update safeExit.cpp
2022-10-10 15:01:03 +03:00
Alexey Milovidov
69a3ddb5cb
Merge pull request #42128 from Algunenano/tsa_build
...
Fix build without TSA
2022-10-09 03:11:47 +03:00
Alexander Tokmakov
8b44e11430
fix
2022-10-08 16:10:46 +02:00
Alexander Tokmakov
4175f8cde6
abort instead of __builtin_unreachable in debug builds
2022-10-07 21:49:08 +02:00
Alexander Tokmakov
1a1a20587e
Update defines.h
2022-10-07 21:26:09 +03:00
Raúl Marín
5d9c4a39c0
Update comment
2022-10-07 14:06:28 +02:00
Raúl Marín
62599e3901
Simpler macro
2022-10-07 11:14:35 +02:00
Raúl Marín
6b0ad85640
Fix build without TSA
2022-10-06 16:26:48 +02:00
Azat Khuzhin
e9d4d15c0d
Add more comments for skim/fzf compatibility
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-10-05 09:59:48 +02:00
Azat Khuzhin
6e7114128b
Avoid adding extra new line after using fuzzy history search
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-10-05 09:59:48 +02:00
BoloniniD
55c79230b3
Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3
2022-09-29 23:53:25 +03:00
Azat Khuzhin
8cc53a48ae
clickhouse-client: tune fzf/sk options to be a real reverse search
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-09-26 15:09:37 +03:00
Azat Khuzhin
d0f14e1255
clickhouse-client: proper support of vfork() w/o dlsym() in musl
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-09-26 15:09:37 +03:00
Azat Khuzhin
aaa36e2b25
clickhouse-client: add support of sk (fzf-like in rust)
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
Co-authored-by: Antonio Andelic <antonio2368@users.noreply.github.com>
2022-09-26 15:09:37 +03:00
Azat Khuzhin
58b61d8207
clickhouse-client: add interactive history search with fzf-like utility
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-09-26 15:09:37 +03:00
Azat Khuzhin
6acdeb84be
clickhouse-client: refactor editor execution
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-09-26 15:09:37 +03:00
Nikita Mikhaylov
e897816572
Evict stale DNS entries from cache in case of network errors ( #41707 )
2022-09-25 14:06:13 +02:00
BoloniniD
55fcb98f29
Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3
2022-09-19 21:53:14 +03:00
BoloniniD
5b4fb4bf66
Merge branch 'master' into BLAKE3
2022-09-18 23:14:37 +03:00
Alexey Milovidov
5c75a7d661
Fix error
2022-09-18 09:20:48 +02:00
Alexey Milovidov
35cce03125
Remove dlopen
2022-09-17 03:02:34 +02:00
BoloniniD
452ef4435b
Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3
2022-09-16 20:05:56 +03:00
BoloniniD
0df426d329
Corrosion fixes + review fixes
2022-09-16 00:05:21 +03:00
Azat Khuzhin
569b4bb631
Add ability to automatically comment SQL queries in clickhouse-client/local
...
This is like Alt-# in readline, it is useful when you need to look
something else, and need to save current query/command somewhere, and
commented lin the history is a good option.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-09-12 21:57:21 +02:00
Alexey Milovidov
2aedd41023
Remove strange code ( #40195 )
...
* Remove strange code
* Even more code removal
* Fix style
* Remove even more code
* Simplify code by making it slower
* Attempt to do something
* Attempt to do something
* Well do something with this horrible trash
* Add a test
2022-09-12 16:29:23 +02:00
Alexey Milovidov
33635e015d
Fix style
2022-09-11 06:11:02 +02:00
Alexey Milovidov
fa62c7e982
Fix half of trash
2022-09-10 04:08:16 +02:00
BoloniniD
e8bcbcd016
Merge branch 'master' into BLAKE3
2022-09-09 11:48:31 +03:00
BoloniniD
c08b41b611
Clean files and compatibility code
2022-09-08 09:34:59 +03:00
BoloniniD
069fbdd7c5
Fix broken builds
2022-09-05 20:56:03 +03:00
BoloniniD
69588bcebf
Added statx to glibc_compatibility
2022-09-04 20:21:13 +03:00
Ilya Golshtein
74561b40ae
stylecheck renewed
2022-09-02 17:42:18 +03:00
Antonio Andelic
e64436fef3
Fix typos with new codespell
2022-09-02 08:54:48 +00:00
BoloniniD
cba94e106f
Remove posix_spawn for now, add execvpe impl
2022-09-01 20:36:47 +03:00
Robert Schulze
bfa67ffc8c
Update base/base/itoa.h
...
Co-authored-by: Antonio Andelic <antonio2368@users.noreply.github.com>
2022-09-01 10:31:34 +02:00
Robert Schulze
d43f4e6317
fix: typo
2022-08-31 10:57:27 +00:00
Robert Schulze
cedf75ed5e
Enable clang-tidy for headers
...
clang-tidy now also checks code in header files. Because the analyzer
finds tons of issues, activate the check only for directory "base/" (see
file ".clang-tidy"). All other directories, in particular "src/" are
left to future work.
While many findings were fixed, some were not (and suppressed instead).
Reasons for this include: a) the file is 1:1 copypaste of a 3rd-party
lib (e.g. pcg_extras.h) and fixing stuff would make upgrades/fixes more
difficult b) a fix would have broken lots of using code
2022-08-31 10:48:15 +00:00
BoloniniD
8e6dcf18df
Add posix_spawn for posix_file_actions_
2022-08-30 20:18:08 +03:00
BoloniniD
cb32fa4512
Add all posix_spawn_file_actions_ functions
2022-08-30 21:03:45 +03:00
Alexander Tokmakov
44c6c85f75
Merge pull request #40756 from ClickHouse/libuv_update
...
Merging #39398
2022-08-30 14:38:50 +03:00
Suzy Wang
cad4eeb891
Correct __dup3() to dup3()
2022-08-28 18:03:07 -07:00
BoloniniD
14216d1dc0
Move statx to glibc-compatibility
2022-08-28 16:40:10 +03:00
BoloniniD
d1e2267f58
Move statx to glibc-compatibility
2022-08-26 15:18:24 +03:00
BoloniniD
de45f7cf5d
Delete fstatat.c
2022-08-26 15:17:18 +03:00
BoloniniD
4ee1b52116
Move copy_file_range to glibc_compat
2022-08-25 20:59:52 +03:00
BoloniniD
78d00c3371
Add glibc symbols to glibc_compatibility
2022-08-24 21:30:48 +03:00
Alexey Milovidov
0252695c6e
Merge pull request #40224 from ClickHouse/alexey-milovidov-patch-4
...
Check what will be if I enable `concurrency-mt-unsafe` in `clang-tidy`
2022-08-22 23:12:01 +03:00
Robert Schulze
e8b3f56733
Limit suppression to a specific warning
2022-08-21 18:24:17 +00:00
Alexey Milovidov
74e1f4dc61
Fix clang-tidy
2022-08-20 17:09:20 +02:00
Suzy Wang
7a190f84c8
Remove weak_alias
2022-08-19 11:59:47 -07:00
Robert Schulze
77e64935e1
Reduce some usage of StringRef
2022-08-19 09:56:59 +00:00
Suzy Wang
1171ba9095
Add dup3() and inotify_init() from musl 1.2.3
2022-08-18 13:25:50 -07:00
Alexey Milovidov
dd96aee8d2
Update unaligned.h
2022-08-04 08:18:45 +03:00
Alexey Milovidov
6cc08afb72
Update unaligned.h
2022-08-04 01:58:08 +03:00
Alexey Milovidov
57e31cadfa
Update unaligned.h
2022-08-03 09:08:51 +03:00
HarryLeeIBM
cc73b53116
Fix Endian issue in SipHash for s390x
2022-07-29 13:21:50 -07:00
Robert Schulze
24c74da473
Merge pull request #39430 from azat/getauxval-fix
...
Fix LSan by fixing getauxval() (resubmit v4)
2022-07-25 10:43:09 +02:00
Azat Khuzhin
a4f9e1da5b
Fix getauxval() by using procfs with fallback to environ
...
getauxval() from glibc-compatibility did not work always correctly:
- It does not work after setenv(), and this breaks vsyscalls,
like sched_getcpu() [1] (and BaseDaemon.cpp always set TZ if timezone
is defined, which is true for CI [2]).
Also note, that fixing setenv() will not fix LSan,
since the culprit is getauxval()
[1]: https://bugzilla.redhat.com/show_bug.cgi?id=1163404
[2]: ClickHouse#32928 (comment)
- Another think that is definitely broken is LSan (Leak Sanitizer), it
relies on worked getauxval() but it does not work if __environ is not
initialized yet (there is even a commit about this).
And because of, at least, one leak had been introduced [3]:
[3]: ClickHouse#33840
Fix this by using /proc/self/auxv with fallback to environ solution to
make it compatible with environment that does not allow reading from
auxv (or no procfs).
v2: add fallback to environ solution
v3: fix return value for __auxv_init_procfs()
(cherry picked from commit f187c3499a
)
v4: more verbose message on errors, CI founds [1]:
AUXV already has value (529267711)
[1]: https://s3.amazonaws.com/clickhouse-test-reports/39103/2325f7e8442d1672ce5fb43b11039b6a8937e298/stress_test__memory__actions_.html
v5: break at AT_NULL
v6: ignore AT_IGNORE
v7: suppress TSan and remove superior check to avoid abort() in case of race
v8: proper suppressions (not inner function but itself)
Refs: #33957
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-25 01:22:04 +03:00
Robert Schulze
4333750985
Less usage of StringRef
...
... replaced by std::string_view, see #39262
2022-07-24 18:33:52 +00:00
Alexey Milovidov
72dda35108
Revert "[RFC] Fix LSan by fixing getauxval()"
2022-07-21 04:34:04 +03:00
Robert Schulze
7146685f9d
Merge pull request #39299 from azat/fix-lsan-v3
...
[RFC] Fix LSan by fixing getauxval()
2022-07-19 14:27:41 +02:00
Azat Khuzhin
f187c3499a
Fix getauxval() by using procfs with fallback to environ
...
getauxval() from glibc-compatibility did not work always correctly:
- It does not work after setenv(), and this breaks vsyscalls,
like sched_getcpu() [1] (and BaseDaemon.cpp always set TZ if timezone
is defined, which is true for CI [2]).
Also note, that fixing setenv() will not fix LSan,
since the culprit is getauxval()
[1]: https://bugzilla.redhat.com/show_bug.cgi?id=1163404
[2]: ClickHouse#32928 (comment)
- Another think that is definitely broken is LSan (Leak Sanitizer), it
relies on worked getauxval() but it does not work if __environ is not
initialized yet (there is even a commit about this).
And because of, at least, one leak had been introduced [3]:
[3]: ClickHouse#33840
Fix this by using /proc/self/auxv with fallback to environ solution to
make it compatible with environment that does not allow reading from
auxv (or no procfs).
v2: add fallback to environ solution
v3: fix return value for __auxv_init_procfs()
Refs: #33957
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-18 16:49:49 +03:00
alesapin
00e5bdb84a
Fix build clang-13
2022-07-18 12:44:58 +02:00
Robert Schulze
87197f8f60
Enable -Wdeprecated-dynamic-exception-spec
2022-07-13 13:49:40 +00:00
Robert Schulze
1a7727a254
Prefix overridden add_executable() command with "clickhouse_"
...
A simple HelloWorld program with zero includes except iostream triggers
a build of ca. 2000 source files. The reason is that ClickHouse's
top-level CMakeLists.txt overrides "add_executable()" to link all
binaries against "clickhouse_new_delete". This links against
"clickhouse_common_io", which in turn has lots of 3rd party library
dependencies ... Without linking "clickhouse_new_delete", the number of
compiled files for "HelloWorld" goes down to ca. 70.
As an example, the self-extracting-executable needs none of its current
dependencies but other programs may also benefit.
In order to restore access to the original "add_executable()", the
overriding version is now prefixed. There is precedence for a
"clickhouse_" prefix (as opposed to "ch_"), for example
"clickhouse_split_debug_symbols". In general prefixing makes sense also
because overriding CMake commands relies on undocumented behavior and is
considered not-so-great practice (*).
(*) https://crascit.com/2018/09/14/do-not-redefine-cmake-commands/
2022-07-11 19:36:18 +02:00
Alexander Tokmakov
c45482d6c6
disable instrumentation of sanitizer death callback
2022-07-07 22:10:12 +02:00
Alexander Tokmakov
c3573532c0
Merge pull request #38487 from ClickHouse/add_some_tsa_annotations
...
Add some TSA annotations
2022-06-29 13:57:10 +03:00
Robert Schulze
bb441faa42
Merge pull request #38491 from ClickHouse/clang-tidy-in-branches
...
Fix some clang-tidy warnings in headers
2022-06-29 10:22:04 +02:00
Robert Schulze
f692ead6ad
Don't use std::unique_lock unless we have to
...
Replace where possible by std::lock_guard which is more light-weight.
2022-06-28 19:19:06 +00:00
Robert Schulze
30f136867f
Fix build
2022-06-28 16:52:17 +00:00
Alexander Tokmakov
4f54abf67f
better names for macros
2022-06-28 16:27:18 +02:00
Robert Schulze
c22038d48b
More clang-tidy fixes
2022-06-28 11:50:05 +00:00
Robert Schulze
5e28580f11
Fix some clang-tidy warnings in headers
2022-06-27 23:49:07 +02:00
Alexander Tokmakov
f4883f1f7e
add some TSA aanotations
2022-06-27 22:48:27 +02:00
Robert Schulze
55b39e709d
Merge remote-tracking branch 'origin/master' into clang-tsa
2022-06-20 16:39:32 +02:00
Robert Schulze
5a4f21c50f
Support for Clang Thread Safety Analysis (TSA)
...
- TSA is a static analyzer build by Google which finds race conditions
and deadlocks at compile time.
- It works by associating a shared member variable with a
synchronization primitive that protects it. The compiler can then
check at each access if proper locking happened before. A good
introduction are [0] and [1].
- TSA requires some help by the programmer via annotations. Luckily,
LLVM's libcxx already has annotations for std::mutex, std::lock_guard,
std::shared_mutex and std::scoped_lock. This commit enables them
(--> contrib/libcxx-cmake/CMakeLists.txt).
- Further, this commit adds convenience macros for the low-level
annotations for use in ClickHouse (--> base/defines.h). For
demonstration, they are leveraged in a few places.
- As we compile with "-Wall -Wextra -Weverything", the required compiler
flag "-Wthread-safety-analysis" was already enabled. Negative checks
are an experimental feature of TSA and disabled
(--> cmake/warnings.cmake). Compile times did not increase noticeably.
- TSA is used in a few places with simple locking. I tried TSA also
where locking is more complex. The problem was usually that it is
unclear which data is protected by which lock :-(. But there was
definitely some weird code where locking looked broken. So there is
some potential to find bugs.
*** Limitations of TSA besides the ones listed in [1]:
- The programmer needs to know which lock protects which piece of shared
data. This is not always easy for large classes.
- Two synchronization primitives used in ClickHouse are not annotated in
libcxx:
(1) std::unique_lock: A releaseable lock handle often together with
std::condition_variable, e.g. in solve producer-consumer problems.
(2) std::recursive_mutex: A re-entrant mutex variant. Its usage can be
considered a design flaw + typically it is slower than a standard
mutex. In this commit, one std::recursive_mutex was converted to
std::mutex and annotated with TSA.
- For free-standing functions (e.g. helper functions) which are passed
shared data members, it can be tricky to specify the associated lock.
This is because the annotations use the normal C++ rules for symbol
resolution.
[0] https://clang.llvm.org/docs/ThreadSafetyAnalysis.html
[1] https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/42958.pdf
2022-06-20 16:13:25 +02:00
alesapin
0ae0cc54aa
Merge pull request #38106 from ClickHouse/tsan_less_flaky_tests
...
Some fixes for tests with tsan
2022-06-18 14:22:43 +02:00
Alexander Tokmakov
9cac78b498
make tests with tsan less flaky
2022-06-15 19:54:46 +02:00
Igor Nikonov
de273b043d
Decimal: noexcept move constructor/assignment operator
2022-06-13 13:42:54 +00:00
Robert Schulze
1a0b5f33b3
More consistent use of platform macros
...
cmake/target.cmake defines macros for the supported platforms, this
commit changes predefined system macros to our own macros.
__linux__ --> OS_LINUX
__APPLE__ --> OS_DARWIN
__FreeBSD__ --> OS_FREEBSD
2022-06-10 10:22:31 +02:00
Alexey Milovidov
b5f48a7d3f
Merge branch 'master' of github.com:ClickHouse/ClickHouse into llvm-14
2022-06-01 22:09:58 +02:00
Robert Schulze
249fe561f4
Fix build with -DENABLE_LIBRARIES=0 / -DENABLE_REPLXX=0
...
Replxx: When disabled via -DENABLE_LIBRARIES=0 or -DENABLE_REPLXX (the
latter was undocumented) the build broke because replxx symbols were
used since [0] in header LineReader.h. This header should in theory
stay clean of replxx but doesn't for efficiency reasons.
This change makes compilation of replxx mandatory. As replxx is quite
small, I guess this is okay. (The alternative is to litter the code
with ifdefs for non-replxx and a replxx paths.)
[0] https://github.com/ClickHouse/ClickHouse/pull/33201
2022-06-01 10:02:28 +02:00
Alexey Milovidov
bcbd6b802f
Fix clang-tidy-14
2022-05-31 04:19:08 +02:00
Alexey Milovidov
11788c8129
Fix clang-tidy-14
2022-05-29 02:28:46 +02:00
Alexander Tokmakov
6bc68c0cbc
Merge branch 'master' into fixes_for_transactions
2022-05-23 18:49:21 +02:00
Alexander Tokmakov
12bbb7de87
fix race on TID allocation
2022-05-20 12:41:44 +02:00
Robert Schulze
b475fbc9a7
Merge pull request #37300 from ClickHouse/cmake-cleanup-pt3
...
Various cmake cleanups
2022-05-20 10:02:36 +02:00
Robert Schulze
0c55ac76d2
A few clangtidy updates
...
Enable:
- bugprone-lambda-function-name: "Checks for attempts to get the name of
a function from within a lambda expression. The name of a lambda is
always something like operator(), which is almost never what was
intended."
- bugprone-unhandled-self-assignment: "Finds user-defined copy
assignment operators which do not protect the code against
self-assignment either by checking self-assignment explicitly or using
the copy-and-swap or the copy-and-move method.""
- hicpp-invalid-access-moved: "Warns if an object is used after it has
been moved."
- hicpp-use-noexcept: "This check replaces deprecated dynamic exception
specifications with the appropriate noexcept specification (introduced
in C++11)"
- hicpp-use-override: "Adds override (introduced in C++11) to overridden
virtual functions and removes virtual from those functions as it is
not required."
- performance-type-promotion-in-math-fn: "Finds calls to C math library
functions (from math.h or, in C++, cmath) with implicit float to
double promotions."
Split up:
- cppcoreguidelines-*. Some of them may be useful (haven't checked in
detail), therefore allow to toggle them individually.
Disable:
- linuxkernel-*. Obvious.
2022-05-17 20:56:57 +02:00
Robert Schulze
43945cea1b
Fixing some warnings
2022-05-16 20:59:27 +02:00
Robert Schulze
e3cfec5b09
Merge remote-tracking branch 'origin/master' into clangtidies
2022-05-16 10:12:50 +02:00
Robert Schulze
8117a1ce52
Don't leak suppression for -Wreserved-identifier out of header
2022-05-15 09:48:54 +02:00
Robert Schulze
1b81bb49b4
Enable clang-tidy modernize-deprecated-headers & hicpp-deprecated-headers
...
Official docs:
Some headers from C library were deprecated in C++ and are no longer
welcome in C++ codebases. Some have no effect in C++. For more details
refer to the C++ 14 Standard [depr.c.headers] section. This check
replaces C standard library headers with their C++ alternatives and
removes redundant ones.
2022-05-09 08:23:33 +02:00
Robert Schulze
f866f8143d
Enable clang-tidy modernize-use-noexcept
...
Official docs:
This check replaces deprecated dynamic exception specifications with
the appropriate noexcept specification (introduced in C++11). By
default this check will replace throw() with noexcept, and
throw(<exception>[,...]) or throw(...) with noexcept(false).
2022-05-08 19:31:38 +02:00
Robert Schulze
3d3977bad3
Enable clang-tidy cert-err60-cpp
...
Official docs:
This check flags all throw expressions where the exception object is
not nothrow copy constructible.
2022-05-06 00:36:26 +02:00
mergify[bot]
64084b5e32
Merge branch 'master' into shared_ptr_helper3
2022-05-03 20:46:16 +00:00
Robert Schulze
ad0b3be79d
Replace uses of SFINAE by C++20 concepts
...
- enable_if is usually regarded as fragile and unreadable
- C++20 concepts are much easier to read and produce more expressive
error messages
2022-05-02 09:23:53 +02:00
Robert Schulze
330212e0f4
Remove inherited create() method + disallow copying
...
The original motivation for this commit was that shared_ptr_helper used
std::shared_ptr<>() which does two heap allocations instead of
make_shared<>() which does a single allocation. Turned out that
1. the affected code (--> Storages/) is not on a hot path (rendering the
performance argument moot ...)
2. yet copying Storage objects is potentially dangerous and was
previously allowed.
Hence, this change
- removes shared_ptr_helper and as a result all inherited create() methods,
- instead, Storage objects are now created using make_shared<>() by the
caller (for that to work, many constructors had to be made public), and
- all Storage classes were marked as noncopyable using boost::noncopyable.
In sum, we are (likely) not making things faster but the code becomes
cleaner and harder to misuse.
2022-05-02 08:46:52 +02:00
Alexey Milovidov
1ddb04b992
Merge pull request #36715 from amosbird/refactorbase
...
Reorganize source files so that base won't depend on Common
2022-04-30 09:40:58 +03:00
Amos Bird
4a5e4274f0
base should not depend on Common
2022-04-29 10:26:35 +08:00
mergify[bot]
20e2fa9b3f
Merge branch 'master' into dynamic-columns-9
2022-04-28 17:53:03 +00:00
Alexey Milovidov
e51bee58ec
Remove useless "install" from CMake (step 1)
2022-04-24 22:32:45 +02:00
mergify[bot]
01357b2e1a
Merge branch 'master' into speed-up-build
2022-04-22 04:34:27 +00:00
Maksim Kita
57444fc7d3
Merge pull request #36444 from rschu1ze/clang-tidy-fixes
...
Clang tidy fixes
2022-04-21 16:11:27 +02:00
mergify[bot]
9c75f83a0b
Merge branch 'master' into speed-up-build
2022-04-20 23:20:21 +00:00
Robert Schulze
b24ca8de52
Fix various clang-tidy warnings
...
When I tried to add cool new clang-tidy 14 warnings, I noticed that the
current clang-tidy settings already produce a ton of warnings. This
commit addresses many of these. Almost all of them were non-critical,
i.e. C vs. C++ style casts.
2022-04-20 10:29:05 +02:00
alesapin
dd2e085ae5
Merge pull request #36365 from ClickHouse/fix-memory-warning-at-server-startup
...
Fix error in sanity checks
2022-04-18 11:51:21 +02:00
Alexey Milovidov
9bab9077b2
Fix error in sanity checks
2022-04-18 03:39:56 +02:00
Alexey Milovidov
f046dd6642
Speed up build a little
2022-04-16 03:58:50 +02:00
Alexey Milovidov
ccdd0a60f7
Remove Arcadia
2022-04-16 00:28:56 +02:00
Anton Popov
6364b6f78f
Merge remote-tracking branch 'upstream/master' into dynamic-columns-9
2022-04-08 15:05:51 +00:00
Anton Popov
3fce23357c
fix insertion of complex json with nested arrays
2022-04-08 14:58:02 +00:00
Alexander Tokmakov
7f54e7b422
Merge branch 'master' into mvcc_prototype
2022-04-07 15:14:06 +02:00
Anton Popov
13cb564d1e
Merge pull request #35716 from kssenii/fix-local-logs-level
...
Fix send_logs_level for clickhouse local
2022-04-06 18:52:47 +02:00
kssenii
83488b2d13
Better
2022-04-05 14:48:26 +02:00
mergify[bot]
3183b61c74
Merge branch 'master' into mvcc_prototype
2022-03-31 12:27:09 +00:00
Alexander Tokmakov
287d858fda
Merge branch 'master' into mvcc_prototype
2022-03-29 16:24:12 +02:00
alesapin
842c0b8ff0
Merge remote-tracking branch 'origin/startup-sanity-checks' into startup-sanity-checks
2022-03-29 14:29:33 +02:00
alesapin
ed2c461fe1
Merge branch 'master' into startup-sanity-checks
2022-03-29 14:09:20 +02:00
alesapin
b838a7dcb0
Remove outdated links from CI
2022-03-28 15:53:22 +02:00
Sergei Trifonov
85f2ed12e1
fix darwin build
2022-03-25 12:52:50 +01:00
alesapin
93d1b1d198
Merge branch 'master' into startup-sanity-checks
2022-03-24 11:17:06 +01:00
Sergei Trifonov
c7cf14e743
fix style and darwin build
2022-03-23 19:15:01 +01:00
Alexander Tokmakov
9702b5177d
Merge branch 'master' into mvcc_prototype
2022-03-14 21:45:38 +01:00
Maksim Kita
e14cfd5dcd
Fix clang-tidy warnings in Access folder
2022-03-14 18:17:35 +00:00
alesapin
96c0e9fddf
Better cmake
2022-03-11 15:47:07 +01:00
Alexander Tokmakov
8acfb8d27f
Merge branch 'master' into mvcc_prototype
2022-03-07 17:40:15 +01:00
alesapin
c5a456802f
Fix build
2022-03-04 19:39:11 +01:00
alesapin
5416b567d5
Merge branch 'master' into standalone_keeper_build
2022-03-04 13:35:07 +01:00
alesapin
0eb7d28192
Building small keeper binary
2022-03-03 21:27:46 +01:00
Vladimir C
38cf9ca7c2
Merge pull request #35005 from vdimir/fixarm64/00092_obfuscator
2022-03-03 12:17:30 +01:00
Maksim Kita
7d90afb3b0
Merge pull request #34988 from azat/safe-exit
...
Fix signal-unsafe TSan report in client
2022-03-03 09:21:26 +01:00
vdimir
c89de91fd4
clickhouse obfuscator aarch64 fix
2022-03-02 21:31:40 +00:00
Azat Khuzhin
798da0c314
Introduce safeExit() helper (_exit() compatible with TSan)
...
v2: add missing defines.h header
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-03-02 22:17:17 +03:00
Maksim Kita
b1a956c5f1
clang-tidy check performance-move-const-arg fix
2022-03-02 18:15:27 +00:00
Alexander Tokmakov
aa6b9a2abc
Merge branch 'master' into mvcc_prototype
2022-02-23 23:22:03 +03:00
Amos Bird
56197cf31e
Allow only to specify --log-file
2022-02-18 18:14:58 +08:00
Alexander Tokmakov
dae044f86b
Merge branch 'master' into mvcc_prototype
2022-02-17 13:49:37 +03:00
Vladimir C
ddad064285
Merge pull request #34463 from vdimir/wide_integer_from_builtin_double_multiplier
...
Use `cpp_bin_float_double` in `set_multiplier` for `wide_integer_from_builtin` for aarch64
2022-02-15 15:24:20 +01:00
Sergei Trifonov
0f66743104
support determine available memory for FreeBSD
2022-02-15 13:59:00 +03:00
Alexander Tokmakov
1e4e569151
Merge branch 'master' into mvcc_prototype
2022-02-15 02:26:47 +03:00
Maksim Kita
70ffcb8e33
Merge pull request #34393 from kitaisreal/sort-added-equal-items-randomization
...
Sort added equal items ranges randomization
2022-02-14 16:41:19 +01:00
Vladimir C
ebd93d07e5
fix
2022-02-14 12:36:30 +01:00
Maksim Kita
e13a0bfb39
Enable randomization of sort only in debug
2022-02-13 15:10:44 +00:00
Maksim Kita
7cbf18ef59
Fixed tests
2022-02-13 15:10:44 +00:00
Maksim Kita
4a18e627ec
Updated implementation
2022-02-13 15:10:44 +00:00
Maksim Kita
42792dec48
Simplified implementation
2022-02-13 15:10:44 +00:00
Maksim Kita
b536b27e15
Fixed tests
2022-02-13 15:10:44 +00:00
Maksim Kita
10293acafb
Sort added equal items ranges randomization
2022-02-13 15:10:44 +00:00
kssenii
fecf7f3d08
May be fix test 01065_window_view_event_hop_watch_bounded.py
2022-02-12 18:24:09 +01:00
Vladimir C
d40275af4f
fix
2022-02-11 21:22:02 +01:00
vdimir
b17d27413e
Use cpp_bin_float_double_extended in wide_integer_from_builtin
2022-02-11 18:01:19 +01:00
Alexander Tokmakov
07e66e690d
Merge branch 'master' into mvcc_prototype
2022-02-11 15:53:32 +03:00
vdimir
4b1325ba63
Try to use double in set_multiplier for wide_integer_from_builtin
2022-02-09 14:27:21 +01:00
alexey-milovidov
38d92d0507
Merge pull request #33996 from save-my-heart/fix/signal_pipe_buf_size
...
reduce signal_pipe_buf_size
2022-02-06 04:50:47 +03:00
Alexander Tokmakov
ca5f951558
Merge branch 'master' into mvcc_prototype
2022-02-03 18:56:44 +03:00
Sergei Trifonov
68bc456830
Merge pull request #34223 from azat/bump-fmt
...
Bump fmtlib from 7.0.0 to 8.1.1
2022-02-02 00:03:25 +03:00
alexey-milovidov
cafb19d7fb
Merge pull request #34114 from amosbird/replxxwithlexer
...
Combining our lexer with replxx for better multiple line editing
2022-02-01 16:32:25 +03:00
Azat Khuzhin
220ed206c1
logger_useful: implicitly convert fmt::basic_runtime for std::string ctor
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-02-01 14:30:03 +03:00
Azat Khuzhin
bedf208cbd
Use fmt::runtime() for LOG_* for non constexpr
...
Here is oneliner:
$ gg 'LOG_\(DEBUG\|TRACE\|INFO\|TEST\|WARNING\|ERROR\|FATAL\)([^,]*, [a-zA-Z]' -- :*.cpp :*.h | cut -d: -f1 | sort -u | xargs -r sed -E -i 's#(LOG_[A-Z]*)\(([^,]*), ([A-Za-z][^,)]*)#\1(\2, fmt::runtime(\3)#'
Note, that I tried to do this with coccinelle (tool for semantic
patchin), but it cannot parse C++:
$ cat fmt.cocci
@@
expression log;
expression var;
@@
-LOG_DEBUG(log, var)
+LOG_DEBUG(log, fmt::runtime(var))
I've also tried to use some macros/templates magic to do this implicitly
in logger_useful.h, but I failed to do so, and apparently it is not
possible for now.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
v2: manual fixes
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-02-01 14:30:03 +03:00
Alexander Tokmakov
2e4ae37d98
Merge branch 'master' into mvcc_prototype
2022-02-01 13:20:03 +03:00
Maksim Kita
8513f20cfd
Merge pull request #34145 from kitaisreal/bitset-sort-performance-check
...
pdqsort performance check
2022-01-31 12:35:13 +01:00
Maksim Kita
5ef83deaa6
Update sort to pdqsort
2022-01-30 19:49:48 +00:00
Amos Bird
ae16b362d3
Better case-insensitive completion
2022-01-30 19:50:24 +08:00