Vitaly Baranov
fbb2e14d54
Add new table function viewIfPermitted().
2022-07-15 15:44:29 +02:00
Vitaly Baranov
c85b2b5732
Add option enabling that SELECT from the system database requires grant.
2022-07-15 15:44:25 +02:00
Robert Schulze
62149111d3
Fix build
2022-07-14 14:36:31 +00:00
Yakov Olkhovskiy
e5f165d909
Merge branch 'master' into cmake-self-extracting-executable
2022-07-13 16:09:18 -04: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
Antonio Andelic
37f799550b
Merge pull request #38072 from lingpeng0314/master
...
Add Keeper related monitoring data
2022-07-10 09:39:57 +02:00
jinjunzh
816e974ca2
rename deflate to deflate_qpl
2022-07-09 14:42:01 -04:00
jinjunzh
825b7511e4
improve cosmetics
2022-07-09 14:13:12 -04:00
Nikita Mikhaylov
a44157d81d
Allow globs in keys for clickhouse-extract-from-config
tool ( #38966 )
2022-07-08 16:13:32 +02:00
jinjunzh
6fa036f6ee
remove qpl from clickhouse-keeper
2022-07-06 23:48:09 -04:00
Yakov Olkhovskiy
8a3f124982
add self-extracting to clickhouse-bundle
2022-07-06 22:01:21 -04:00
Yakov Olkhovskiy
c6db15458a
build utils/self-extracting-executable/compressor whenever we want to build compressed binary
2022-07-06 20:40:41 -04:00
jinjunzh
ba38969e9c
enable qpl for clickhouse-keeper build
2022-07-05 15:28:41 -04:00
Alexey Milovidov
1f2266e45f
Merge pull request #38619 from ClickHouse/filimonov-clickhouse-su
...
Fix exception messages in clickhouse su
2022-07-05 07:11:20 +03:00
Mikhail f. Shiryaev
7a58a8c19b
Merge pull request #38647 from ClickHouse/clickhouse-diagnostics
...
Clickhouse diagnostics
2022-07-04 12:14:33 +02:00
Mikhail f. Shiryaev
446ead1af4
Fix typos issues it clickhouse-diagnostics
2022-07-04 10:59:39 +02:00
Mikhail f. Shiryaev
664d43e348
Add disabling tag no_docker to some go tests
2022-07-04 10:59:39 +02:00
lingpeng0314
cca94f01ae
add function tryGetKeeperDispatcher for context
...
- to make sure other case will get error if dispatcher not initialized
2022-07-04 13:35:08 +08:00
Mikhail f. Shiryaev
3513b41683
Fix linter issue
2022-07-01 11:43:14 +02:00
Mikhail f. Shiryaev
1553f67809
Can set version in Makefile
2022-07-01 11:43:13 +02:00
Mikhail f. Shiryaev
a70cda9670
Create a path for clickhouse-diagnostics installation
2022-07-01 11:43:12 +02:00
Mikhail f. Shiryaev
51556704e0
Rename module to reflect the current state
2022-07-01 11:43:11 +02:00
Mikhail f. Shiryaev
9531bbf497
Move clickhouse-diagnostics to programs
2022-07-01 11:43:07 +02:00
Robert Schulze
59236d60c9
Merge pull request #38654 from ClickHouse/better-naming-for-split-debug-symbols
...
Better naming for stuff related to splitted debug symbols
2022-07-01 09:28:41 +02:00
lingpeng0314
03a5ce542d
Remove Exception in getKeeperDispatcher
...
- to handle the nil case by caller
2022-07-01 11:27:40 +08:00
Robert Schulze
bb358617e1
Better naming for stuff related to splitted debug symbols
...
The previous name was slightly misleading, e.g. it is not about
"intalling stripped binaries" but about splitting debug symbols from the
binary.
2022-06-30 23:41:27 +02:00
Yakov Olkhovskiy
dd132d1beb
Merge pull request #38447 from ClickHouse/utility-self-extracting
...
Compress clickhouse executable
2022-06-30 13:18:40 -04:00
Nikita Mikhaylov
e66114984c
Update programs/su/clickhouse-su.cpp
2022-06-30 12:44:59 +02:00
Nikita Mikhaylov
b2cc6787ee
Update programs/su/clickhouse-su.cpp
2022-06-30 12:44:30 +02:00
filimonov
3949480ed3
Fix exception messages in clickhouse su
...
Fix exception messages in
2022-06-30 11:38:05 +02:00
Yakov Olkhovskiy
78ea290789
add remove command
2022-06-29 06:47:21 -04:00
jinjunzh
fe451a4317
remove compress sync interface
2022-06-28 22:52:11 -04:00
Yakov Olkhovskiy
5d36994c4d
self-extracting requires utils (uses utils/self-extracting-executable/compressor)
2022-06-27 11:41:23 -04:00
Alexander Tokmakov
7c37079a96
Merge branch 'master' into deprecate_ordinary_database
2022-06-27 14:46:59 +02:00
mergify[bot]
4e5fd226c8
Merge branch 'master' into utility-self-extracting
2022-06-27 12:26:16 +00:00
Yakov Olkhovskiy
8ce6b8226d
Update CMakeLists.txt
2022-06-27 08:25:21 -04:00
Yakov Olkhovskiy
39ea5ffdcb
compress clickhouse executable, new target 'self-extracted' is added
2022-06-27 01:36:27 -04:00
jasperzhu
b2f98fa73b
Merge branch 'master' into dev_intel_iaa_deflate
2022-06-27 10:21:21 +08:00
Alexey Milovidov
b89f01438e
Lower mutex scope
2022-06-25 03:05:55 +02:00
Kseniia Sumarokova
e1823f4c0a
Merge pull request #38364 from kssenii/better-error-message-in-dbc
...
Better error message for failed odbc query
2022-06-24 18:30:54 +02:00
Alexander Tokmakov
31dcc7634e
Merge branch 'master' into deprecate_ordinary_database
2022-06-24 18:16:07 +02:00
kssenii
dc73042d62
Better error messafe
2022-06-24 01:05:33 +02:00
Alexander Gololobov
50438a4b05
Fixed uninitialized optional
2022-06-23 23:55:21 +02:00
Alexander Tokmakov
dbf2763788
automatically convert system database to Atomic
2022-06-23 21:38:43 +02:00
Alexander Gololobov
02f3921c69
Added --recursive to clickhouse-disks list
2022-06-23 20:39:20 +02:00
Kseniia Sumarokova
b844c36a9d
Merge pull request #38150 from kssenii/clickhouse-disks-fixes
...
Some fixes for clickhouse-disks
2022-06-23 10:21:44 +02:00
Kseniia Sumarokova
3f83d2f8b3
Update ICommand.cpp
2022-06-22 13:00:48 +02:00
Alexey Milovidov
ba05b3edab
Merge pull request #38197 from ClickHouse/play-charts
...
Add primitive charting capabilities
2022-06-22 06:42:05 +03:00
Robert Schulze
0d80874d40
Merge pull request #38068 from ClickHouse/clang-tsa
...
Support for Clang Thread Safety Analysis (TSA)
2022-06-21 20:19:33 +02:00
kssenii
47a118beab
More fixes
2022-06-21 16:40:22 +02:00
mergify[bot]
5b24939369
Merge branch 'master' into play-charts
2022-06-21 14:20:52 +00:00
Roman Vasin
3de3ae1b64
Set ConcurrencyControl::Unlimited when total_max_threads 0 or undefined
2022-06-21 16:39:53 +03:00
Alexey Milovidov
7e9a3796e9
Fix wrong docs
2022-06-21 00:09:55 +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
mergify[bot]
f3264e50ec
Merge branch 'master' into play-charts
2022-06-20 14:01:47 +00:00
mergify[bot]
2d25daf64d
Merge branch 'master' into clickhouse-disks-fixes
2022-06-20 11:20:59 +00:00
Kseniia Sumarokova
a756b4be27
Merge pull request #37391 from azat/insert-profile-events-fix
...
Send profile events for INSERT queries (previously only SELECT was supported)
2022-06-20 12:16:29 +02:00
lingpeng0314
1d463718ca
Change getKeeperDispatcher error type
2022-06-20 17:11:15 +08:00
Alexey Milovidov
240d896eb4
Add primitive charting capabilities
2022-06-18 18:20:53 +02:00
Alexey Milovidov
eba897d4ec
Add primitive charting capabilities
2022-06-18 18:15:45 +02:00
Maksim Kita
6b748f2193
AArch64 enable trace collection
2022-06-17 17:53:51 +02:00
kssenii
7520bfeab7
Fix
2022-06-16 19:50:09 +02:00
alesapin
ca33ff93cb
Merge pull request #37555 from ClickHouse/revert-37534-revert-37036-keeper-preprocess-operations
...
Add support for preprocessing ZooKeeper operations and real-time digest in `clickhouse-keeper`
2022-06-16 17:29:00 +02:00
Azat Khuzhin
3b29db6e9f
LocalServer: remove superfluous ProgressIndicator.h
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-06-16 11:59:01 +03:00
jasperzhu
bca18b2caf
Merge branch 'master' into dev_intel_iaa_deflate
2022-06-16 08:56:27 +08:00
Robert Schulze
b936abe813
+ comments about keeping stuff in sync
2022-06-16 00:07:59 +02:00
Robert Schulze
bc46cef63c
Minor follow-up
...
- change ELF section name to ".clickhouse.hash" (lowercase seems
standard)
- more expressive/concise integrity check messages at startup
2022-06-14 08:52:13 +00:00
Antonio Andelic
e5504f1b33
Merge branch 'master' into revert-37534-revert-37036-keeper-preprocess-operations
2022-06-13 15:43:10 +00:00
Robert Schulze
bc6f30fd40
Move binary hash to ELF section ".ClickHouse.hash"
2022-06-13 08:46:23 +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
Anton Popov
df6882d2b9
Revert "Fix errors of CheckTriviallyCopyableMove type"
2022-06-07 13:53:10 +02:00
Varinara
1f8fab41f1
Fixe2: allow config path at any position
2022-06-06 16:52:58 +03:00
Varinara
6aa9e5d649
Fixe: allow config path at any position
2022-06-06 16:52:58 +03:00
Varinara
e35d1460bf
Corrections
2022-06-06 16:52:58 +03:00
Varinara
a330d3cb4a
Corrections
2022-06-06 16:52:58 +03:00
Varinara
f5d4e9ccc1
Corrections
2022-06-06 16:52:58 +03:00
Varinara
354ef2e3b8
Corrections
2022-06-06 16:52:58 +03:00
Varinara
51409703e0
Corrections
2022-06-06 16:52:58 +03:00
Varinara
ed6e8176fe
Add basic commands for disk tool (list-disks, list, move, remove, link, copy, read, write) + tests
2022-06-06 16:52:58 +03:00
Antonio Andelic
2c37fe3d7b
Merge branch 'master' into revert-37534-revert-37036-keeper-preprocess-operations
2022-06-06 12:39:55 +00:00
Robert Schulze
2d87af2a15
Merge pull request #37647 from DevTeamBK/Fix-all-CheckTriviallyCopyableMove-Errors
...
Fix errors of CheckTriviallyCopyableMove type
2022-06-05 19:58:47 +02:00
Alexey Milovidov
1529d47207
Merge pull request #34754 from ClickHouse/llvm-14
...
Switch to clang/llvm 14
2022-06-03 14:07:34 +03:00
Nikolai Kochetov
bc166e4394
Merge pull request #37543 from ClickHouse/refactor-read-metrics-and-callbacks
...
Refactor read metrics and callbacks
2022-06-03 09:43:25 +02:00
HeenaBansal2009
e3080f2a97
Merge remote-tracking branch 'origin' into Fix-all-CheckTriviallyCopyableMove-Errors
2022-06-02 07:30:08 -07:00
Antonio Andelic
7ee47fc5bb
Merge branch 'master' into revert-37534-revert-37036-keeper-preprocess-operations
2022-06-02 13:38:52 +00:00
mergify[bot]
f678fdb0c2
Merge branch 'master' into tonickkozlov/odbc-disable-connection-pooling
2022-06-02 13:08:30 +00:00
Nikolai Kochetov
edac3d6714
Merge branch 'master' into refactor-read-metrics-and-callbacks
2022-06-02 09:36:20 +00:00
Alexey Milovidov
b5f48a7d3f
Merge branch 'master' of github.com:ClickHouse/ClickHouse into llvm-14
2022-06-01 22:09:58 +02:00
Alexey Milovidov
bac09770f1
Fix clang-tidy-14
2022-06-01 22:07:26 +02:00
Nikolai Kochetov
6e924cdc77
Fix some more tests.
2022-06-01 15:21:47 +00:00
Dmitry Novik
7fbe91ca81
Merge pull request #37460 from ClickHouse/memory-overcommit-improvement
...
Memory Overcommit: update defaults, exception message and add ProfileEvent
2022-06-01 17:06:33 +02:00
mergify[bot]
4aefcf29e3
Merge branch 'revert-37534-revert-37036-keeper-preprocess-operations' into keeper-real-time-digest
2022-06-01 10:17:49 +00:00
Anton Kozlov
e9d645168e
Renamed ODBCConnectionFactory to ODBCPooledConntionFactory
2022-06-01 09:00:39 +00:00
Nikolai Kochetov
86fbb74703
Merge branch 'master' into refactor-read-metrics-and-callbacks
2022-05-31 18:07:47 +00:00
Roman Vasin
b7cde2c5ad
Remove total_max_threads logic from QueryPipelineBuilder; Add setMaxConcurrency(total_max_threads) in Server.cpp
2022-05-31 19:43:15 +03:00
Anton Kozlov
3576625647
CLICKHOUSE-2131 Add an option to disable connection pooling in ODBC bridge
2022-05-31 16:26:08 +00:00
Alexey Milovidov
4bb04f913f
Fix clang-tidy-14
2022-05-31 17:20:07 +02:00
mergify[bot]
ba49c6bb46
Merge branch 'master' into memory-overcommit-improvement
2022-05-31 13:17:06 +00:00
Roman Vasin
441bd3e81f
Merge remote-tracking branch 'origin/concurrency-control' into ADQM-445
2022-05-31 15:07:02 +03:00