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
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
Amos Bird
bb34435928
Better code
2022-01-30 19:48:35 +08:00
Amos Bird
62e89a6445
Ignore case for history search and completion
2022-01-30 19:48:34 +08:00
Amos Bird
556cce9f3c
We need highlight to use Lexer
2022-01-30 19:48:34 +08:00
Amos Bird
54517753d7
Combining our lexer with replxx
2022-01-30 19:48:33 +08:00
save-my-heart
4894e93e05
Merge branch 'ClickHouse:master' into fix/signal_pipe_buf_size
2022-01-30 06:29:00 +08:00
Alexey Milovidov
7135ff448f
Revert #33957
2022-01-30 01:09:15 +03:00
Alexander Tokmakov
fb9b2d5326
Merge branch 'master' into mvcc_prototype
2022-01-28 21:18:36 +03:00
tavplubix
b92958815a
Update LineReader.cpp
2022-01-28 13:38:36 +03:00
Vitaly Baranov
484743edff
Merge pull request #33201 from azat/client-interactive-suggest
...
Client interactive suggest (extract info from CREATE queries)
2022-01-28 16:30:16 +07:00
save-my-heart
cc3cbc6503
remove whitespace to pass style check
2022-01-26 23:05:07 +08:00
save-my-heart
62ba4833df
fix dereference null pointer
2022-01-26 22:55:19 +08:00
save-my-heart
2c37b572d4
fix
2022-01-26 22:21:18 +08:00
save-my-heart
99c8736f00
fix build error on freebsd & aarch
2022-01-26 22:18:17 +08:00
Azat Khuzhin
0fe1f070fa
Fix getauxval() in glibc-compatibility
...
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]).
[1]: https://bugzilla.redhat.com/show_bug.cgi?id=1163404
[2]: https://github.com/ClickHouse/ClickHouse/pull/32928#issuecomment-1015762717
- 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]: https://github.com/ClickHouse/ClickHouse/pull/33840
Fix this by using /proc/self/auxv.
And let's see how many issues will LSan find...
I've verified this patch manually by printing AT_BASE and compared it
with output of LD_SHOW_AUXV.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-26 12:56:27 +03:00
save-my-heart
c1036f0b8e
ensure signal_pipe_buf_size is <= PIPE_BUF
2022-01-25 22:43:44 +08:00
Maksim Kita
c1db61b4ed
Merge pull request #33946 from azat/build-cleanup
...
Remove MAKE_STATIC_LIBRARIES (in favor of USE_STATIC_LIBRARIES)
2022-01-24 23:42:04 +01:00
Azat Khuzhin
1acd644040
Add inplace merge for new completion words
...
This will allow:
- use addWords() everywhere
- remove that optimization for empty words case (initial load)
- and now we remove duplicates according to comparator
v2: replace parameter pack in addWords() with explicit Compare for both
cases (just pass default)
2022-01-24 22:59:18 +03:00
Azat Khuzhin
b9948155cd
Remove extra copying for completion words
...
Return Replxx::completions_t over Words array, that way we avoids one
copying of std::string (although it breaks incapsulation).
2022-01-24 23:04:48 +03:00
Azat Khuzhin
4a0facd341
Remove MAKE_STATIC_LIBRARIES (in favor of USE_STATIC_LIBRARIES)
...
There is no more MAKE_*, so remove this alias.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-24 17:28:33 +03:00
Azat Khuzhin
37dbff7587
Revert glibc compatibility (via .symver) in favor of hermetic build (bundled libc)
...
This patch reverts glibc compatibility (via .symver) #29594 ,
in favor of hermetic build (that provides bundled libc version) #30011
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-24 16:03:56 +03:00
Alexander Tokmakov
0ea0a8ccc7
Merge branch 'master' into mvcc_prototype
2022-01-20 17:05:55 +03:00
Azat Khuzhin
e0e81b340d
Fix w/o ODBC build
2022-01-20 10:02:02 +03:00
Azat Khuzhin
e3b140a387
Add alias library for fmt
2022-01-20 10:02:02 +03:00
Azat Khuzhin
ad67aa527c
Add alias library for magic_enum
2022-01-20 10:02:02 +03:00
Azat Khuzhin
ea68b07c9e
Remove unbundled replxx support
2022-01-20 10:02:01 +03:00
Azat Khuzhin
8b692b607c
Remove unbundled cctz support
2022-01-20 10:02:01 +03:00
Azat Khuzhin
3147bbab51
Cleanup sentry support
2022-01-20 10:02:00 +03:00
Azat Khuzhin
f1cc63d900
Remove unbundled cityhash support
2022-01-20 10:01:12 +03:00
Alexander Tokmakov
e9a5a64a71
Merge branch 'master' into mvcc_prototype
2022-01-19 21:41:23 +03:00
Amos Bird
4e18368186
CI somehow finds another duplicated header
2022-01-19 14:37:59 +08:00
alexey-milovidov
d222cb9771
Merge pull request #33695 from amosbird/buildimprove
...
Some build improvement
2022-01-19 03:19:22 +03:00
Azat Khuzhin
f12e4b6ef7
Rewrite suggestions to make it more cleaner
...
- use plain mutex over atomic
- use addWords() for initial suggestion filling
- return vector<> from getCompletions() over iterator, to avoid possible
questions (even though it was safe, since addWords() could not be
called in parallel with getCompletions() before)
2022-01-18 21:03:51 +03:00
Kruglov Pavel
2295a07066
Merge pull request #33534 from azat/fwd-decl
...
RFC: Split headers, move SystemLog into module, more forward declarations
2022-01-18 17:22:49 +03:00
Amos Bird
6d62060e16
Build improvement
2022-01-17 22:36:27 +08:00
Alexey Milovidov
7848ea7d60
Allow insertFrom for ColumnFunction
2022-01-16 06:18:35 +03:00
Alexander Tokmakov
4dd216ce8f
Merge branch 'master' into mvcc_prototype
2022-01-14 17:11:32 +03:00
Azat Khuzhin
cb70544dfe
Move LockMemoryExceptionInThread and MemoryTrackerBlockerInThread
2022-01-10 22:39:10 +03:00
Azat Khuzhin
aee034a597
Use explicit template instantiation for SystemLog
...
- Move some code into module part to avoid dependency from IStorage in SystemLog
- Remove extra headers from SystemLog.h
- Rewrite some code that was relying on headers that was included by SystemLog.h
v2: rebase
v3: squash move into module part with explicit template instantiation
(to make each commit self compilable after rebase)
2022-01-10 22:01:41 +03:00
Alexander Tokmakov
bf2b6c2c37
Merge branch 'master' into mvcc_prototype
2022-01-10 19:53:50 +03:00
msaf1980
780a1b2abe
graphite: split tagged/plain rollup rules (for merges perfomance)
2022-01-10 16:34:16 +05:00
Alexey Milovidov
0696c1971f
Fix clang-tidy
2022-01-04 23:52:10 +03:00
alexey-milovidov
6e9684149b
Update wide_integer_impl.h
2022-01-03 16:43:58 +03:00
Alexey Milovidov
93bd1771cc
Fix error
2022-01-02 23:52:55 +03:00
Alexander Tokmakov
8aec3ae94f
Merge branch 'master' into mvcc_prototype
2021-12-28 14:24:36 +03:00
Azat Khuzhin
36c4fc054c
Client interactive suggest (extract info from CREATE queries)
...
This will parse CREATE queries and add the following things to
completion list for clickhouse-client/clickhouse-local:
- table
- database
- columns
2021-12-26 19:10:25 +03:00
Alexey Milovidov
8b91bdf9f2
Enable query profiler
2021-12-24 12:25:27 +03:00
Alexey Milovidov
29d28c531f
Move code around to avoid dlsym on Musl
2021-12-24 12:25:27 +03:00
alexey-milovidov
95818893d3
Merge pull request #33058 from ClickHouse/update-harmful
...
Update harmful library
2021-12-23 08:01:21 +03:00
Alexey Milovidov
9fa2b7a581
Corrections
2021-12-23 01:38:28 +03:00
Alexey Milovidov
53c83e4813
Merge branch 'Issue77' of github.com:DevTeamBK/ClickHouse into merge-33025
2021-12-23 01:36:46 +03:00
Rajkumar
a75d3d1c83
Review comments
2021-12-22 13:39:45 -08:00
alexey-milovidov
70fb9833ef
Update harmful.c
2021-12-22 22:55:55 +03:00
alexey-milovidov
fc9cc7dfb0
Update harmful.c
2021-12-22 22:06:06 +03:00
Alexey Milovidov
d11c5b3893
Update harmful library
2021-12-22 21:54:29 +03:00
Alexander Tokmakov
b7184732d5
Merge branch 'master' into mvcc_prototype
2021-12-22 19:46:09 +03:00
tavplubix
d8fb293d57
Merge pull request #32900 from zzsmdfj/issue/#15182_MaterializeMySQL_support_bit_type
...
Add support for BIT data type in MaterializedMySQL
2021-12-22 15:58:29 +03:00
Alexander Tokmakov
32e62ed5c2
Merge branch 'master' into mvcc_prototype
2021-12-17 10:43:46 +03:00
zzsmdfj
7498dd9c33
to #15182_MaterializeMySQL_support_bit_type- fix code format
2021-12-17 15:10:43 +08:00
zzsmdfj
e9eed1f927
to #15182_MaterializeMySQL_support_bit_type
2021-12-17 15:03:24 +08:00
Alexander Tokmakov
d7ad72838c
Merge branch 'master' into mvcc_prototype
2021-12-14 23:07:52 +03:00
kssenii
f0d0714e47
Pass timeouts for mysql
2021-12-13 22:12:33 +00:00
Azat Khuzhin
d8bf26f705
Remove even minimal support for readline
2021-12-11 11:33:57 +03:00
Azat Khuzhin
4e4837758a
Remove readline support
...
- it was not nested for a long time
- replxx is an upstream way for completion
2021-12-11 11:29:59 +03:00
Mikhail f. Shiryaev
03927f5fc6
Revert "graphite: split tagged/plain rollup rules (for merges perfomance)"
...
This reverts commit 303552f515
.
2021-12-08 15:49:21 +01:00
Alexander Tokmakov
7fcb79ae72
Merge branch 'master' into mvcc_prototype
2021-12-07 14:39:29 +03:00
Mikhail f. Shiryaev
5fc20b3e6a
Merge pull request #25122 from msaf1980/rollup_rules_type
...
GraphiteMergeTree Rollup rules type
2021-12-07 10:18:08 +01:00
msaf1980
303552f515
graphite: split tagged/plain rollup rules (for merges perfomance)
2021-12-06 16:49:08 +01:00
alexey-milovidov
50c23a9fd6
Merge pull request #31123 from amosbird/repl-improvement
...
Better clickhouse-client multiline input
2021-12-06 12:22:13 +03:00
Azat Khuzhin
96bd83c31e
Do not reopen logs on USR1, HUP is enough
...
USR1 is also used for query_profiler_real_time_period_ns, let's not
overlap.
2021-12-03 01:32:57 +03:00
Azat Khuzhin
bdc6163b88
Fix magic_enum for debug helpers
2021-11-28 06:28:19 +03:00
alexey-milovidov
d9292395e8
Merge pull request #31832 from ClickHouse/strange-code-typelist
...
Fix the issue that LowCardinality of Int256 cannot be created.
2021-11-27 00:36:56 +03:00
Vasily Nemkov
e9466e505b
Minor improvements to DUMP macro
...
- output enum values names with help of magic_enum
- output string literals as is, without type info
2021-11-26 12:20:08 +02:00
Alexey Milovidov
85cec911be
Fix strange code in TypeList
2021-11-25 23:55:02 +03:00
Kruglov Pavel
b63b47f0f0
Merge pull request #31265 from Avogar/fix-write-buffers
...
Fix and refactor WriteBiffer-s a little
2021-11-23 16:46:09 +03:00
Alexey Milovidov
c50b31a7a5
Remove trash
2021-11-21 17:35:33 +03:00
Alexey Milovidov
a778b625b9
Get rid of 10-years old trash
2021-11-21 15:48:11 +03:00
Kruglov Pavel
d9c1a0c8ec
Merge branch 'master' into fix-write-buffers
2021-11-20 17:48:24 +03:00
Alexander Tokmakov
06bed68f6e
Merge branch 'master' into mvcc_prototype
2021-11-17 23:03:19 +03:00
Nikolay Degterinsky
fc9ef14a73
Merge pull request #29219 from evillique/log_lz4_streaming
...
Add LZ4 stream compression of logs
2021-11-17 21:22:57 +03:00
Amos Bird
93294734d3
Better clickhouse-client multiline input
2021-11-17 22:11:30 +08:00
Nikolay Degterinsky
ddef6d86ca
Minor fixes
2021-11-16 23:02:47 +00:00
Nikolay Degterinsky
2ae79233e4
Better
2021-11-16 23:02:47 +00:00
Nikolay Degterinsky
eafd3ddfac
Add lz4 stream compression
2021-11-16 22:30:29 +00:00
alexey-milovidov
9a30709e99
Update ReplxxLineReader.cpp
2021-11-17 00:44:52 +03:00
Azat Khuzhin
b7030720b6
Add comments for ReplxxLineReader::executeEditor()
2021-11-16 23:26:41 +03:00
Azat Khuzhin
7576f4d9cd
Fix waiting of the editor during interactive query edition
...
On resize (SIGWINCH) waitpid() will fail with EINTR error, and after
this clickhouse-client/clickhouse-local will works concurrently.
2021-11-16 23:26:41 +03:00
Azat Khuzhin
6fdbffb533
Avoid using extra shell for editor invocation (for query editing)
2021-11-16 23:26:41 +03:00
Alexander Tokmakov
ce2f692bb4
Merge branch 'master' into mvcc_prototype
2021-11-15 14:56:50 +03:00
Azat Khuzhin
ed4b5c7640
Check stderr is writable before reopining it (to avoid losing errors)
2021-11-13 22:26:05 +03:00
Alexander Tokmakov
672157b817
Merge branch 'master' into mvcc_prototype
2021-11-11 22:01:34 +03:00
alexey-milovidov
5100ec7b48
Update defines.h
2021-11-11 21:51:24 +03:00
Vladimir Smirnov
48451182f8
Initial support for risc-v
...
Make ClickHouse compilable and runnable on risc-v 64
So far only basic functionality was tested (on real hw),
clickhouse server runs, exceptions works, client works,
simple tests works.
What doesn't work:
1. traces - they are always empty
2. system.stack_trace only have first frame
2021-11-11 19:23:34 +01:00
avogar
c521a9131a
Small refactoring of WriteBiffer-s
2021-11-11 02:11:18 +03:00
Vitaly Baranov
1579bcfd20
Merge pull request #31178 from vitlibar/backup-engines-and-improvements
...
Backup engines and improvements
2021-11-10 18:20:41 +03:00
Vitaly Baranov
bf8606a931
Add UUID and timestamp to backup metadata.
2021-11-09 23:16:45 +03:00
Pavel Medvedev
340aed30b6
revert cgroup memory limit to uint64_t
...
... to fix compiler warning about signed/unsigned comparison.
See issue #25662
2021-11-08 18:56:31 +01:00
Pavel Medvedev
54f543b61a
apply cgroup memory limit to physical memory amount
...
... after obtaining the memory amount, in order to return not greater
than the physical memory from `getMemoryAmount()`
Additionally reading the memory limit as a singned int64_t, since
there is no guarantie the setting file contains non-negative value.
See issue #25662
2021-11-08 15:16:45 +01:00
Alexander Tokmakov
92eec74ad7
Merge branch 'master' into mvcc_prototype
2021-11-06 21:08:36 +03:00
alexey-milovidov
a487ee6f25
Merge pull request #30574 from pmed/issue_25662_cgroup_memory_limit
...
WIP: use cgroup memory limit in getMemoryAmountOrZero
2021-10-31 14:53:16 +03:00
Alexey Milovidov
8b4a6a2416
Remove cruft
2021-10-28 02:10:39 +03:00
alexey-milovidov
705c1b957d
Update getMemoryAmount.cpp
2021-10-23 05:27:15 +03:00
Pavel Medvedev
eaca39ba05
use cgroup memory limit in getMemoryAmountOrZero
...
Try to read the memory amount from /sys/fs/cgroup/memory/memory.limit_in_bytes
See issue #
2021-10-23 02:54:58 +02:00
Maksim Kita
0b3926950d
Merge pull request #30143 from amosbird/useupstreamreplxx
...
Use upstream replxx
2021-10-19 17:50:43 +03:00
alexey-milovidov
f4bfed9d3a
Merge pull request #29586 from evillique/log_levels_update
...
Add log levels updates
2021-10-17 20:54:46 +03:00
alexey-milovidov
e9af03ef52
Merge pull request #30248 from ClickHouse/musl-4
...
Preparation to build with Musl
2021-10-16 18:44:35 +03:00
Alexey Milovidov
55116ae399
Fix error
2021-10-16 01:57:22 +03:00
Alexey Milovidov
41acc52458
Preparation to build with Musl
2021-10-16 00:17:34 +03:00
Amos Bird
4800749d32
make Ctrl-J to commit
2021-10-14 23:56:28 +08:00
Nikolay Degterinsky
2da43012b6
Add log levels updates
2021-10-14 16:34:30 +03:00
Maksim Kita
04047f76c7
Fixed tests
2021-10-14 00:33:18 +03:00
Maksim Kita
d55561422f
Fixed tests
2021-10-14 00:33:18 +03:00
alexey-milovidov
21f3316884
Merge pull request #29933 from ClickHouse/sentry-remove-trash
...
Remove trash from SentryWriter
2021-10-12 21:14:46 +03:00
Alexey Milovidov
8196f89481
Remove trash from CMake
2021-10-11 06:58:08 +03:00
Alexey Milovidov
af4066c255
Remove printf
2021-10-10 21:54:15 +03:00
Alexey Milovidov
4e6ed5c45c
Remove trash from SentryWriter
2021-10-10 04:10:52 +03:00
Anton Popov
199ac31b48
Merge pull request #29683 from myrrc/improvement/tl-to-common
...
Non-recursive implementation for type list and its functions
2021-10-05 21:49:15 +03:00
Mike Kot
25a62b9f83
Renaming TL to Typelist
2021-10-05 17:22:02 +02:00
Maksim Kita
3834256abf
Merge pull request #29722 from kitaisreal/borrowed-object-pool-condition-variable-notify-fix
...
BorrowedObjectPool condition variable notify fix
2021-10-04 21:39:59 +03:00
Nikita Mikhaylov
613b814e24
Merge pull request #29595 from CurtizJ/generalize-update-permutation
...
Generalize code in `IColumn::updatePermutation`
2021-10-04 20:36:57 +03:00
Nikita Mikhaylov
b31d11478b
Merge pull request #29680 from azat/defines
...
Cleanup common defines
2021-10-04 20:13:29 +03:00
Maksim Kita
26611ba72c
BorrowedObjectPool condition variable notify fix
2021-10-04 13:25:44 +03:00
alexey-milovidov
6abb3d4c6d
Merge pull request #29682 from traceon/xcode-13-fix-build
...
Fix Xcode 13 build
2021-10-04 02:34:43 +03:00
Sergei Semin
8e81732bb1
fix rename of path for iostream_debug_helpers.h
2021-10-04 00:29:00 +03:00
Mike Kot
8c8bada56e
Non-recursive implementation for TL and its functions
2021-10-03 18:02:04 +02:00
Denis Glazachev
ca7b69b0f3
Manipulate with -Wreserved-identifier only if HAS_RESERVED_IDENTIFIER has been detected
2021-10-03 17:42:36 +04:00
Azat Khuzhin
d0fc26f91a
Do not pretend that windows is supported (remove code undef #ifdef _MSC_VER)
2021-10-03 14:42:53 +03:00
Azat Khuzhin
70e1f4d402
Move ASAN_{UN,}POISON_MEMORY_REGION to base/defines
2021-10-03 14:34:03 +03:00
Azat Khuzhin
1f5d377aa6
Move comments about aliases (inline/noinline and similar) into proper place
...
Fixes: 571d0d541c
("Improve CCTZ contrib (#9687 )")
2021-10-03 14:34:03 +03:00
Mike Kot
38232c286d
fixing paths
2021-10-02 21:45:05 +02:00
Mike Kot
65e6e211b4
Merge remote-tracking branch 'upstream/master' into improvement/fn-traits
2021-10-02 21:37:50 +02:00
Anton Popov
1f10246a10
Merge remote-tracking branch 'upstream/master' into HEAD
2021-10-02 22:33:27 +03:00
Alexey Milovidov
2ad5dbdfe8
Rename "common" to "base"
2021-10-02 11:30:38 +03:00
Alexey Milovidov
fe6b7c77c7
Rename "common" to "base"
2021-10-02 10:13:14 +03:00
Azat Khuzhin
cab0551c5b
Add ability to compile using newer version fo glibc w/o using new symbols
...
In glibc 2.32 new version of some symbols had been added [1]:
$ nm -D clickhouse | fgrep -e @GLIBC_2.32
U pthread_getattr_np@GLIBC_2.32
U pthread_sigmask@GLIBC_2.32
[1]: https://www.spinics.net/lists/fedora-devel/msg273044.html
Right now ubuntu 20.04 is used as official image for building
ClickHouse, however once it will be switched someone may not be happy
with that fact that he/she cannot use official binaries anymore because
they have glibc < 2.32.
To avoid this dependency, let's force previous version of those
symbols from glibc.
Note, that I've tested this by compiling with glibc 2.32 and verifying
that output ELF does not have @GLIBC_2.32 symbols and also running that
binary inside ubuntu:20.04 image (that has glibc 2.31).
v1: -Wl,--wrap
v2: -Wl,--defsym
v3: -include
v4: fix versioning for aarch64
2021-10-01 21:01:59 +03:00
Mike Kot
e8625e85a4
Fixing integration tests
2021-10-01 19:13:14 +02:00
Mike Kot
38b02b121a
Merge remote-tracking branch 'upstream/master' into improvement/fn-traits
2021-10-01 16:55:28 +02:00
Mike Kot
5e560ff9d7
fix
2021-10-01 16:55:01 +02:00
Anton Popov
515cc74530
generalize code in IColumn::updatePermutation
2021-10-01 00:11:54 +03:00
Azat Khuzhin
a4f2663b82
Log queries to external databases (since they may be rewriten)
...
By rewritten means that some expression from WHERE can be removed, yes
there is external_table_strict_query, but sometimes it is too strict.
2021-09-29 21:56:28 +03:00
Mike Kot
7670ea50c1
Replacing std::function to Fn in some places
...
to avoid dynamic allocating while keeping desired function signature
clear.
Simplifying SimpleCache (CachedFn) using C++20
2021-09-29 13:09:39 +02:00
Alexey Milovidov
cd7f9d981c
Remove ya.make
2021-09-25 04:22:54 +03:00
Alexander Tokmakov
72b1b2e360
Merge branch 'master' into mvcc_prototype
2021-09-23 22:53:27 +03:00
Alexey Milovidov
894f4908fa
Add comments
2021-09-19 22:26:16 +03:00
Alexey Milovidov
86f38283ff
Merge branch 'master' into better-memequal
2021-09-19 21:54:15 +03:00
alexey-milovidov
20d8523a2e
Merge pull request #28888 from azat/mysql-in-fix
...
Fix queries to external databases (i.e. MySQL) with multiple columns in IN ( i.e. `(k,v) IN ((1, 2))` )
2021-09-18 15:53:40 +03:00
alexey-milovidov
c4b3add859
Update Query.cpp
2021-09-18 15:46:48 +03:00
Maksim Kita
7c748b6140
Merge pull request #27963 from zhanglistar/overflow_bugfix
...
Overflow bugfix
2021-09-15 23:31:43 +03:00
Sergei Semin
12e24a23d3
Merge branch 'master' into fix-build-clang-13-2
2021-09-12 19:30:55 +03:00
alexey-milovidov
ea13a8b562
Merge pull request #28659 from myrrc/improvement/tostring_to_magic_enum
...
Improving CH type system with concepts
2021-09-12 15:26:29 +03:00
Sergei Semin
f74350c148
fix special build
2021-09-12 02:49:31 +03:00
Mike Kot
3401b32e37
Adapted usage of is_decimal concept
2021-09-11 19:35:12 +02:00
Azat Khuzhin
c77c4e22ae
Add MySQL query into after transformation in case of BadQuery
...
Since it may differs from the user input
2021-09-11 14:06:19 +03:00
mergify[bot]
5db3ba7414
Merge branch 'master' into better-memequal
2021-09-11 02:54:07 +00:00
Mike Kot
bce011cb33
Replacing IsDecimalNumber
2021-09-11 00:40:18 +02:00
Mike Kot
c4385a2c40
Simplifying exception messages
2021-09-11 00:40:18 +02:00
Sergei Semin
baa7253677
fix -Wreserved-identifier in base/daemon/BaseDaemon.cpp
2021-09-10 11:41:49 +03:00
Sergei Semin
61d46c09ee
fix problem with phdr_cache.cpp (second try)
2021-09-09 23:51:47 +03:00
Sergei Semin
ecff16de48
ignore diagnostic -Wreserved-identifier in file base/common/unit.h
2021-09-09 23:51:47 +03:00
Sergei Semin
39929e52bd
add ignore of -Wreserved-identifier into LineReader.cpp, ThreadFuzzer.cpp, ReadBufferFromFileDescriptor.cpp
2021-09-09 23:51:47 +03:00
Sergei Semin
a46d23fa79
ignore reserved-macro-identifier when building lib mysqlxx
2021-09-09 23:51:47 +03:00
Sergei Semin
a7b2867d3d
fix reserved-identifier in readpassphrase.c
2021-09-09 23:51:47 +03:00
Sergei Semin
338020e8ed
rename __lsan_ignore_object --> lsan_ignore_object in phdr_cache.cpp
2021-09-09 23:51:47 +03:00
Alexey Milovidov
81975a00fe
Better memequal implementation
2021-09-09 05:42:13 +03:00
Alexey Milovidov
0e8b4e608b
Better memequal implementation
2021-09-09 05:38:48 +03:00
Dmitrii Kovalkov
b073d5a4b4
Default argument for Pool.get()
2021-09-08 13:11:38 +03:00
Maksim Kita
7a4a0b0ede
Merge pull request #28474 from azat/mysql-connection_no_block
...
Introduce connection_wait_timeout for MySQL engine.
2021-09-07 12:28:02 +03:00
Mike Kot
8e9aacadd1
Initial: replacing hardcoded toString for enums with magic_enum
2021-09-06 16:24:03 +02:00
alesapin
497c225203
Test log level for CI
2021-09-03 13:07:40 +03:00
Azat Khuzhin
ed70ed6f71
Introduce connection_no_wait setting for MySQL engine.
...
This will allow to avoid superfluous sleep during query execution, since
this not only not desired behavoiur, but also may hang the server, since
if you will execute enough queries that will use MySQL database but will
not allow enough connections (or your MySQL server is too slow) then you
may run out of threads in the global thread pool.
Also note that right now it is possible to get deadlock when the mysql
pool is full, consider the following scenario:
- you have m1 and m2 mysql tables
- you have q1 and q2 queries, bot queries join m1 and m2
- q1 allocated connection for m1 but cannot allocate connection for m2
- q2 allocated connection for m2 but cannot allocate connection for m1
- but to resolve the lock one should give up on the locking while it is not possible right now...
And then you got no free threads and this:
# grep -h ^202 /proc/$(pgrep clickhouse-serv)/task/*/syscall | cut -d' ' -f2 | sort | uniq -c | sort -nr | head
1554 0x7ffb60b92fe8 # mutex in mysqlxx::PoolWithFailover::get
1375 0x7ffb9f1c4748 # mutex in ::PoolEntryHelper::~PoolEntryHelper from DB::MultiplexedConnections::invalidateReplica
1160 0x7ffb612918b8 # mutex in mysqlxx::PoolWithFailover::get
42 0x7ffb9f057984 # mutex in ThreadPoolImpl<std::__1::thread>::worker
*NOTE: 202 is a `futex` with WAIT*
(Went with `syscall` because debugging 10k+ threads is not easy, and
eventually it may TRAP)
2021-09-02 22:23:37 +03:00
Maksim Kita
e5ee3752ef
BorrowedObjectPool fix style
2021-09-02 16:18:10 +03:00
tavplubix
c36fe210b8
Revert "Add test for #13398 "
2021-08-27 21:07:10 +03:00
Kruglov Pavel
5bc332c40c
Merge pull request #28054 from kssenii/mysql
...
Add test for #13398
2021-08-26 16:39:43 +03:00
alexey-milovidov
c6f40c5c2d
Revert "Revert "less sys calls #2 : make vdso work again""
2021-08-25 14:19:20 +03:00
kssenii
0d5000f917
Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into mysql
2021-08-24 07:30:42 +00:00
kssenii
962f415740
Add test and settings
2021-08-23 22:18:04 +00:00
Vitaly Baranov
c1177ee562
Support implicit cast std::pair<UInt64, UInt64> to UInt128.
2021-08-23 23:41:45 +03:00
Vitaly Baranov
9a5eeb5d41
Add utility function insertAtEnd().
2021-08-23 23:41:45 +03:00
Vladimir C
bce6d092ea
Merge pull request #27858 from ianton-ru/MDB-14264
...
Use Multipart copy upload for large S3 objects
2021-08-23 11:32:19 +03:00
listar
b4a33ce001
1. fix oveflow bug
2021-08-21 19:08:34 +00:00
vdimir
e77ff2740a
Add common/unit.h
2021-08-20 13:57:05 +03:00
tavplubix
9ef45d92c2
Merge pull request #27755 from ClickHouse/ncb/server_uuid
...
Merging #20089
2021-08-19 14:59:18 +03:00
alexey-milovidov
8f280c9ccb
Merge pull request #27829 from ClickHouse/revert-27492-less_clock_gettime2
...
Revert "less sys calls #2 : make vdso work again"
2021-08-19 12:50:50 +03:00
alexey-milovidov
3db3b40b5e
Revert "less sys calls #2 : make vdso work again"
2021-08-19 01:38:12 +03:00
Alexander Tokmakov
31d75c9c38
fix split build
2021-08-18 15:15:31 +03:00
Sergei Semin
da3f5612ae
rename _Bits -> _bits
2021-08-17 23:08:17 +03:00
Alexander Tokmakov
df1a4e90a8
Merge branch 'master' into ncb/server_uuid
2021-08-17 19:42:47 +03:00
Alexander Tokmakov
4d71f65082
fix build
2021-08-17 16:24:14 +03:00
Alexander Tokmakov
9e9fa043ca
minor improvements, add test
2021-08-16 21:30:53 +03:00
Alexey Milovidov
9a4a8d3943
Fix build with clang-13
2021-08-16 03:16:45 +03:00
Alexey Milovidov
f063e44131
Whitespaces
2021-08-15 09:00:28 +03:00
alexey-milovidov
fe356a716e
Merge pull request #27492 from filimonov/less_clock_gettime2
...
less sys calls #2 : make vdso work again
2021-08-13 03:13:11 +03:00
Vitaly Baranov
213e6366c2
Update getauxval.c
2021-08-12 13:44:09 +03:00
Vitaly Baranov
3d9a4adfbf
Better handling case when __environ is null
2021-08-12 13:43:06 +03:00
Maksim Kita
34682c98c7
Merge pull request #27605 from Enmk/fix_27193_toDateTime64_conversion
...
Fixed parsing DateTime64 value from string.
2021-08-12 13:32:59 +03:00
Vitaly Baranov
9243e89150
Update getauxval.c
2021-08-12 12:10:37 +03:00
Vitaly Baranov
242d8e1861
__auxv_init lazy initialization
2021-08-12 11:06:12 +02:00
Mikhail Filimonov
2c01e2789a
make vdso work again
2021-08-12 11:06:06 +02:00
Vasily Nemkov
bdc4d9fe75
Fixed parsing DateTime64 value from string.
...
The time offset undeflowed on positive values.
2021-08-12 10:37:46 +03:00
Raúl Marín
8bae14acb1
Separate minute intervals
...
Instead of mixing multiple rounding, use toStartOfMinuteInterval for all
minute related calculations
2021-08-10 17:01:56 +02:00
Raúl Marín
ede5369265
Revert toMinute changes and add additional roundDown fastpath
2021-08-10 12:55:49 +02:00
Raúl Marín
0771329bf3
Improvements based on review
2021-08-09 16:16:17 +02:00
Raúl Marín
367b314df6
Linter
2021-08-09 15:45:51 +02:00
Raúl Marín
5921f0cc82
Make gcc happy
2021-08-09 15:45:51 +02:00
Raúl Marín
abeaf60e4a
Improve compatibility with non-whole-minute timezone offsets
2021-08-09 15:45:51 +02:00
Alexey Milovidov
7fa700de00
Merge branch 'master' into roaring-memory-tracker
2021-08-05 22:17:10 +03:00
alexey-milovidov
44441535ff
Update BaseDaemon.cpp
2021-07-30 09:21:03 +03:00
Nikolai Kochetov
3d029e66fe
Update BaseDaemon.cpp
2021-07-29 17:00:33 +03:00
Nikolai Kochetov
3b8cb7e4bf
Print trace from std::terminate exception line-by-line to make it grep easier.
2021-07-29 15:49:31 +03:00
Alexander Tokmakov
c74bfbf991
Merge branch 'master' into mvcc_prototype
2021-07-28 22:21:48 +03:00
Vitaly Baranov
19d5a6ab2f
Merge pull request #26714 from vitlibar/new-function-current-profiles
...
New functions currentProfiles(), enabledProfiles(), defaultProfiles().
2021-07-23 09:10:29 +03:00
Vitaly Baranov
7afcc65060
Add new functions currentProfiles(), enabledProfiles(), defaultProfiles().
2021-07-22 22:20:53 +03:00
Alexey Milovidov
2df3e14559
Attempt to add memory tracking to RoaringBitmaps
2021-07-22 02:56:17 +03:00
Azat Khuzhin
cfc79d9146
Fix history file conversion if file is empty
2021-07-20 21:00:53 +03:00
kssenii
3ba2d114d5
Revert "Merge pull request #26352 from ClickHouse/revert-25774-datatype-date32"
...
This reverts commit 94a210650f
, reversing
changes made to 0893b9ff8e
.
2021-07-15 11:41:52 +00:00
alexey-milovidov
9ba4064c86
Revert "Datatype Date32, support range 1925 to 2283"
2021-07-15 10:53:35 +03:00
neng.liu
dfe05ca583
fix test error
2021-07-11 06:14:03 -07:00
neng.liu
4669839fbb
add comment and update ya.make
2021-07-11 04:55:42 -07:00
NengLiu
78f0bb9e24
add type cast
2021-07-09 15:28:44 +08:00
NengLiu
1d7d973dea
change addWeeks delta's datatype from Int64 to Int32
2021-07-09 11:42:32 +08:00
NengLiu
e172ca240b
change addQuarter delta's datatype from Int64 to Int32
2021-07-09 11:35:12 +08:00
neng.liu
e47aadfdef
Merge branch 'datatype-date32' of https://github.com/liuneng1994/ClickHouse into datatype-date32
2021-07-08 00:09:48 -07:00
neng.liu
100d30a5ba
fix pr comment
2021-07-08 00:06:36 -07:00
NengLiu
8b88988618
Merge branch 'master' into datatype-date32
...
# Conflicts:
# src/DataStreams/PostgreSQLBlockInputStream.cpp
2021-07-05 10:18:38 +08:00
NengLiu
dc0c65ef4f
Merge remote-tracking branch 'origin/master' into datatype-date32
2021-07-05 10:15:08 +08:00
alexey-milovidov
fef7c557f6
Merge pull request #24789 from kitaisreal/compile-aggregation-functions
...
Compile aggregate functions
2021-07-05 02:57:49 +03:00
Maksim Kita
55220d49f9
Fixed code review issues
2021-07-03 16:29:32 +03:00
feng lv
1d332da0ed
fix special build on clang 11
2021-07-02 05:51:53 +00:00
alexey-milovidov
24759a9b67
Update ReplxxLineReader.cpp
2021-07-02 04:26:49 +03:00
alexey-milovidov
a41a1b7c74
Update ReplxxLineReader.cpp
2021-07-02 04:25:07 +03:00
Maksim Kita
9b71b1040a
Aggregate functions update compile interface
2021-07-01 22:56:35 +03:00
Maksim Kita
3fe559b31f
Compile aggregate functions
2021-07-01 22:56:35 +03:00
Azat Khuzhin
626f47e044
Convert history file from readline format to replxx format
...
replxx requires each history line to prepended with time line:
### YYYY-MM-DD HH:MM:SS.SSS
select 1
And w/o those service lines it will load all lines from history file as
one history line for suggestion. And if there are lots of lines in file it
will take lots of time (getline() + tons of reallocations).
2021-06-30 22:06:16 +03:00
NengLiu
00377e7c9b
fix style error
2021-06-30 17:29:13 +08:00
Alexey Milovidov
d611297a7f
Add comment
2021-06-29 02:19:09 +03:00
Alexey Milovidov
f4f85a387d
Fix DateLUT on Darwin
2021-06-29 02:16:19 +03:00
neng.liu
ec7604b013
add parquet test and fix add interval error when type is date32
2021-06-28 16:36:54 +08:00
Ivan
14e43cfafa
Add CI check for darwin-aarch64 ( #25560 )
...
* Add support for darwin-aarch64
* Fix PVS warnings
* Add build configuration
* Fix packager args
2021-06-25 18:21:56 +03:00
Neng Liu
aadc2af5cb
add some functional test
2021-06-22 19:10:56 +08:00
Neng Liu
7ed1728a37
Merge branch 'master' into datatype-date32
...
# Conflicts:
# src/DataTypes/IDataType.h
# src/Functions/CustomWeekTransforms.h
2021-06-22 10:00:18 +08:00
Evgeniy Gatov
2487063be3
METR-41529
2021-06-21 22:31:42 +03:00
Azat Khuzhin
4dcbf3a5c5
Replace __pthread_get_minstack() with a const
2021-06-20 14:03:04 +03:00
Azat Khuzhin
0286673f8f
Fix __pthread_get_minstack()
...
This is the function that should take into account TLS block, and 1MB is
too high, since it will be used for sigaltstack() on SIGSEGV
v0: copy-paste glibc __pthread_get_minstack()
v2: return static 16K instead of 1MB
2021-06-19 21:27:02 +03:00
alexey-milovidov
48980b9c31
Merge pull request #25279 from ClickHouse/fix-wide-int-ub
...
Fix incorrect behaviour and UBSan report in big integers.
2021-06-17 01:35:48 +03:00
Maksim Kita
67e9b85951
Merge ext into common
2021-06-16 23:28:41 +03:00
Kseniia Sumarokova
b4840bc4a9
Merge pull request #25280 from kssenii/bridges-constraints
...
Privilege drop and resource constraints for bridge processes
2021-06-16 22:13:16 +03:00
Maksim Kita
67884ec50c
SimpleCache key constructor improvement
2021-06-16 01:40:16 +03:00
Alexey Milovidov
c41b58b148
Fix UBSan report
2021-06-15 06:52:49 +03:00
kssenii
b152d7589f
Bridge contsraints
2021-06-15 01:01:10 +00:00
Alexey Milovidov
3ee26c822d
Remove unused function
2021-06-15 03:30:01 +03:00
Alexey Milovidov
6eb06d84d4
Fix decomposed float
2021-06-15 03:29:44 +03:00
Alexey Milovidov
c5181cf897
Fix wrong code in wide_int
2021-06-15 03:29:20 +03:00
Alexey Milovidov
6738774722
Minor change
2021-06-13 21:54:55 +03:00
alexey-milovidov
a2c6b98b94
Merge pull request #25146 from oxidecomputer/master
...
Adds a better way to include binary resources
2021-06-13 16:13:34 +03:00
Benjamin Naecker
f5cf9adc66
Removes unused CMake variable and fixes clang-tidy lint
2021-06-11 14:35:40 -07:00
Benjamin Naecker
e4e0bd557a
Style fix
2021-06-09 15:53:56 -07:00
Benjamin Naecker
c3506bf16d
Adds a better way to include binary resources
...
- Uses a small assembly file to include binary resources, rather than
objcopy
- Updates `base/common/getResource.cpp` for this new method of inclusion
- Removes linux-only guards in CMake files, as this solution is
cross-platform.
The resulting binary resources are available in the ClickHouse server
binary on Linux, macOS, and illumos platforms. FreeBSD has not been
tested, but will likely work as well.
2021-06-09 14:03:30 -07:00
Alexander Tokmakov
6f5cf773ef
Merge branch 'master' into mvcc_prototype
2021-06-09 12:50:54 +03:00
Neng Liu
88a0d0be62
add datetype32 part2
2021-06-08 20:31:41 +08:00
neng.liu
120da1fd73
date32 initial code
2021-06-07 06:41:58 -07:00
Azat Khuzhin
c65ae8ac31
Do not check writeRetry errors in OwnSplitChannel
...
Should fix PVS warning:
"There are identical sub-expressions '!writeRetry(2, "\n")' to the left and to the right of the '||' operator."
2021-06-07 09:40:29 +03:00
Azat Khuzhin
3d9218dbfa
Use writeRetry in case of exception during writing to the log
2021-06-07 09:38:15 +03:00
Azat Khuzhin
b9c869871b
Block memory tracking during catching exceptions in OwnSplitChannel
2021-06-07 09:38:15 +03:00
Azat Khuzhin
89a4d886bf
Suppress exceptions from logger code
...
Some code does not expect from the logger code to throw, and this can
lead to the problems like:
- marking distributed batch as broken (in
StorageDistributedDirectoryMonitor)
- some MergeTree code may also be affected.
So instead of throwing the exception, it will be logged to the stderr
(if it is possible).
2021-06-07 09:38:15 +03:00
Alexander Tokmakov
9915bd0a8b
Merge branch 'master' into mvcc_prototype
2021-06-03 00:52:57 +03:00
Alexander Tokmakov
5692db736c
Merge branch 'master' into mvcc_prototype
2021-05-31 21:11:22 +03:00
kssenii
2a631aaf08
Final fixes
2021-05-29 00:34:44 +03:00
kssenii
f66c67a979
Fixes
2021-05-27 15:42:46 +03:00
kssenii
31107816bb
fs::absolute to fs::canonical
2021-05-24 20:37:54 +03:00
kssenii
866b29fb5a
Return list fds with Poco, more canonical
2021-05-23 10:56:13 +03:00
kssenii
1c43b333ea
Merge branch 'master' of github.com:ClickHouse/ClickHouse into poco-file-to-std-fs
2021-05-22 21:26:48 +03:00
kssenii
8bac10d24f
Update base/*
2021-05-22 21:24:13 +03:00
Vitaly Baranov
b89da7b420
Merge pull request #21858 from BoloniniD/yaml-cfg
...
YAML Configuration for ClickHouse
2021-05-22 10:29:51 +03:00
BoloniniD
33755f1f3d
Implemented YAMLParser class
2021-05-21 21:56:22 +03:00
Azat Khuzhin
4f41ebcae3
Add settings (for connections) for MySQL storage engine
...
Default settings are not very efficient, since they do not even reuse
connections.
And when each query requires connection you can have only ~80 QPS, while
by simply enabling connection reuse (connection_auto_close=false) you
can have ~500 QPS (and by increasing connection_pool_size you can have
better QPS throughput).
So this patch allows to pass through some connection related settings
for the StorageMySQL engine, like:
- connection_pool_size=16
- connection_max_tries=3
- connection_auto_close=true
v2: remove connection_pool_default_size
v3: remove num_tries_on_connection_loss
2021-05-20 22:44:52 +03:00
Alexander Tokmakov
529d1aeb19
fix merges of uncommitted parts
2021-05-18 20:07:29 +03:00
alesapin
83627de2b8
Merge branch 'master' into standalone_keeper
2021-05-15 17:15:06 +03:00
Kruglov Pavel
7b26483080
Rename param
2021-05-13 16:37:44 +03:00
Kruglov Pavel
fb17078af3
Merge branch 'master' into filimonov-logger-levels
2021-05-13 16:10:01 +03:00
alesapin
41eadf9127
Something working
2021-05-12 16:04:34 +03:00
Alexey Milovidov
9753ddc8a0
Merge branch 'master' of github.com:yandex/ClickHouse into normalize-bigint
2021-05-09 18:54:29 +03:00
Alexey Milovidov
3b2f897f3a
Fix UBSan
2021-05-09 02:25:36 +03:00
Alexey Milovidov
037d06bb2a
Fix warnings by PVS-Studio
2021-05-08 23:50:12 +03:00
Alexey Milovidov
0af587a346
Fix warnings by PVS-Studio in some third-party code
2021-05-08 22:31:11 +03:00
Alexey Milovidov
604daa9581
Fix a bunch of warnings from PVS-Studio
2021-05-08 19:09:17 +03:00
Alexey Milovidov
9e1a5f41fc
A bunch of changes for PVS-Studio
2021-05-08 17:43:03 +03:00
Alexey Milovidov
e9c7aa5ab5
Remove some code
2021-05-08 17:12:26 +03:00
divanorama
b6ea00cf29
Update glibc_compatibility check: ARCH_ARM -> ARCH_AARCH64
2021-05-08 14:24:04 +02:00
Alexey Milovidov
597dcc3e59
Remove packed
2021-05-08 03:06:35 +03:00
Alexey Milovidov
74e2d61207
Fix typo
2021-05-08 03:05:12 +03:00
Alexey Milovidov
d0f1931ecc
Fix ugly typo
2021-05-08 01:22:07 +03:00
Alexey Milovidov
690b2d74fd
Fix gcc build
2021-05-08 01:18:42 +03:00
Alexey Milovidov
8334d8aac1
Speedup division
2021-05-08 01:07:57 +03:00
Alexey Milovidov
ca18f8bef1
Fix division of big integers; add a test
2021-05-08 00:47:23 +03:00
Alexey Milovidov
7443e660ea
Remove unused headers
2021-05-07 20:13:00 +03:00
Alexey Milovidov
9db3cd57bb
Supposedly fix error with shifts; add a test
2021-05-07 20:12:14 +03:00
Alexey Milovidov
1a746f124f
Style
2021-05-07 04:48:23 +03:00
Alexey Milovidov
7d93734f54
gcd and lcm for big integers
2021-05-07 03:00:26 +03:00
Alexey Milovidov
0e39d3a589
Fix error
2021-05-07 00:04:47 +03:00
Alexey Milovidov
f5011094c3
Little better
2021-05-06 19:53:22 +03:00
Alexey Milovidov
5025ac7147
Minor edits
2021-05-06 19:35:08 +03:00
Alexey Milovidov
29f1a87016
Simplification
2021-05-06 19:16:31 +03:00
Alexey Milovidov
9f379918ea
Fix error in wide_integer implementation
2021-05-06 03:06:24 +03:00
Alexey Milovidov
1ec524d7c8
Add more tests
2021-05-06 00:20:55 +03:00
Alexey Milovidov
113424d78e
Fixed error; add a test
2021-05-05 23:56:44 +03:00
Alexey Milovidov
fd4f214e43
Fix error
2021-05-05 23:04:15 +03:00
Alexey Milovidov
8940677bf2
Fix wrong code (amend)
2021-05-05 20:25:53 +03:00
Alexey Milovidov
f7114fddf6
Fix error in wide integer <-> integer conversions
2021-05-05 14:53:40 +03:00
Alexey Milovidov
e4e2bacf70
Fix error
2021-05-05 14:16:06 +03:00
Alexey Milovidov
75feb0c599
Fix clang-tidy
2021-05-05 13:37:14 +03:00
Alexey Milovidov
71a34ab098
Fix clang-tidy
2021-05-05 13:36:54 +03:00
Alexey Milovidov
54fb40c041
Fix OpenTelemetry
2021-05-05 01:42:14 +03:00
Alexey Milovidov
d585cfbe46
Addition to Remove unused obsolete code
2021-05-04 22:59:31 +03:00
Alexey Milovidov
c4723c0a4c
Remove unused obsolete code
2021-05-04 22:59:30 +03:00