mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-14 02:12:21 +00:00
330212e0f4
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. |
||
---|---|---|
.. | ||
gtest_aux_funcs_for_adaptive_granularity_compact_parts.cpp | ||
gtest_aux_funcs_for_adaptive_granularity.cpp | ||
gtest_columns_description_normalize.cpp | ||
gtest_row_source_bits_test.cpp | ||
gtest_SplitTokenExtractor.cpp | ||
gtest_storage_log.cpp | ||
gtest_transform_query_for_external_database.cpp |