ClickHouse® is a real-time analytics DBMS
Go to file
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
.github Update docs_check.yml 2022-04-30 11:55:39 +03:00
base Remove inherited create() method + disallow copying 2022-05-02 08:46:52 +02:00
benchmark Apply black formatter to all *.py files in the repo 2022-03-22 17:39:58 +01:00
cmake Remove switches for obsolete GCC version 2022-04-30 20:33:20 +02:00
contrib Merge pull request #36798 from ClickHouse/poco-update-58 2022-05-01 13:48:29 +03:00
docker Fix GIT_DOCS_BRANCH with the same branch as checked out 2022-04-29 15:23:25 +02:00
docs Remove minify 2022-04-30 16:37:04 +02:00
packages Fix strange whitespace (or I do not know YAML) 2022-04-24 22:38:59 +02:00
programs Merge pull request #36824 from ClickHouse/log-test-sanity-check 2022-05-01 14:03:22 +03:00
src Remove inherited create() method + disallow copying 2022-05-02 08:46:52 +02:00
tests Merge pull request #36834 from azat/client-complete-func 2022-05-02 02:46:37 +03:00
tools/clickhouse-diagnostics Style fixes 2022-04-29 09:21:05 +01:00
utils Merge pull request #36715 from amosbird/refactorbase 2022-04-30 09:40:58 +03:00
website Merge pull request #36628 from qoega/versions-history 2022-04-26 09:22:14 +03:00
.clang-format add BeforeLambdaBody to .clang-format 2022-02-11 16:51:45 +01:00
.clang-tidy Merge pull request #36444 from rschu1ze/clang-tidy-fixes 2022-04-21 16:11:27 +02:00
.editorconfig
.gitattributes mark test data as binary 2022-01-22 03:19:47 +03:00
.gitignore Add cmake page back to docs && fix /settings/settings in /zh 2022-04-24 16:47:19 -06:00
.gitmodules Update submodules libc++ to LLVM 14 2022-03-26 11:12:22 +01:00
.pylintrc
.vimrc
.yamllint
AUTHORS
CHANGELOG.md Preparation 2022-04-22 03:34:57 +02:00
CMakeLists.txt Merge remote-tracking branch 'origin/master' into clang-tidy-cleanup 2022-04-26 09:42:47 +02:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
format_sources
LICENSE Update year 2022-01-27 01:01:27 +03:00
PreLoad.cmake Protection from incorrect build 2022-04-30 08:37:08 +02:00
README.md Move codebrowser out of Yandex 2022-03-01 20:15:43 +01:00
SECURITY.md Update SECURITY.md (#35375) 2022-03-18 00:35:03 +03:00

ClickHouse — open source distributed column-oriented DBMS

ClickHouse® is an open-source column-oriented database management system that allows generating analytical data reports in real-time.

  • Official website has a quick high-level overview of ClickHouse on the main page.
  • Tutorial shows how to set up and query a small ClickHouse cluster.
  • Documentation provides more in-depth information.
  • YouTube channel has a lot of content about ClickHouse in video format.
  • Slack and Telegram allow chatting with ClickHouse users in real-time.
  • Blog contains various ClickHouse-related articles, as well as announcements and reports about events.
  • Code Browser (Woboq) with syntax highlight and navigation.
  • Code Browser (github.dev) with syntax highlight, powered by github.dev.
  • Contacts can help to get your questions answered if there are any.