ClickHouse/src/Core/MySQL
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
..
Authentication.cpp base should not depend on Common 2022-04-29 10:26:35 +08:00
Authentication.h Remove cruft 2021-10-28 02:10:39 +03:00
IMySQLReadPacket.cpp remove more stringstreams 2020-11-10 21:22:26 +03:00
IMySQLReadPacket.h ISSUES-4006 fix negative decimal number 2020-09-08 01:28:20 +08:00
IMySQLWritePacket.cpp remove more stringstreams 2020-11-10 21:22:26 +03:00
IMySQLWritePacket.h
MySQLClient.cpp Remove inherited create() method + disallow copying 2022-05-02 08:46:52 +02:00
MySQLClient.h Remove inherited create() method + disallow copying 2022-05-02 08:46:52 +02:00
MySQLGtid.cpp Fix clang-tidy warnings in Compression, Coordination, Core folders 2022-03-14 18:17:35 +00:00
MySQLGtid.h Fix clang-tidy warnings in Compression, Coordination, Core folders 2022-03-14 18:17:35 +00:00
MySQLReplication.cpp Fix various clang-tidy warnings 2022-04-20 10:29:05 +02:00
MySQLReplication.h to 32977_MaterializedMySQL_add_table_list_settings 2022-03-01 10:21:58 +08:00
PacketEndpoint.cpp Remove MySQLWireContext. 2021-07-16 22:21:20 +03:00
PacketEndpoint.h Remove inherited create() method + disallow copying 2022-05-02 08:46:52 +02:00
PacketsConnection.cpp clang-tidy check performance-noexcept-move-constructor fix 2022-03-02 18:15:27 +00:00
PacketsConnection.h
PacketsGeneric.cpp
PacketsGeneric.h ISSUES-4006 move MySQL command to the PacketsGeneric.h #4006 2020-08-17 15:27:35 +08:00
PacketsProtocolText.cpp Updated additional cases 2021-12-20 15:55:07 +03:00
PacketsProtocolText.h refactoring of serializations 2021-03-09 17:46:52 +03:00
PacketsReplication.cpp ISSUES-4006 fix fast build warning and remove binlog file name 2020-08-25 17:44:23 +08:00
PacketsReplication.h ISSUES-4006 fix fast build warning and remove binlog file name 2020-08-25 17:44:23 +08:00