Robert Schulze
777b5bc15b
Don't let storages inherit from boost::noncopyable
...
... IStorage has deleted copy ctor / assignment already
2022-05-03 09:07:08 +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
Anton Popov
e8ce091e68
Merge remote-tracking branch 'upstream/master' into HEAD
2022-01-21 20:11:18 +03:00
Maksim Kita
9ef359ce2c
Dictionaries fix comment
2021-12-28 23:50:48 +03:00
Anton Popov
a20922b2d3
Merge remote-tracking branch 'origin/sparse-serialization' into HEAD
2021-11-09 15:36:25 +03:00
Alexey Milovidov
fe6b7c77c7
Rename "common" to "base"
2021-10-02 10:13:14 +03:00
tavplubix
e419614d32
remove incorrect code
2021-09-09 21:31:15 +03:00
Anton Popov
3ed7f5a6cc
dynamic subcolumns: add snapshot for storage
2021-07-09 06:15:41 +03:00
Maksim Kita
008adabec2
Support REPLACE DICTIONARY, CREATE OR REPLACE DICTIONARY queries
2021-06-26 14:28:13 +03:00
Maksim Kita
67e9b85951
Merge ext into common
2021-06-16 23:28:41 +03:00
feng lv
39f68bf5ff
fix conflict
2021-05-02 16:33:45 +00:00
Maksim Kita
2e5f97c6ff
Fixed code review issues
2021-04-27 22:09:03 +03:00
Maksim Kita
8e508a37b7
Fixed dictionaries_lazy_load during StorageDictionary CREATE query
2021-04-27 12:15:35 +03:00
Maksim Kita
71bccfdea1
Fixed integration test
2021-04-26 23:35:56 +03:00
Maksim Kita
cad6b5a590
Fixed tests
2021-04-26 13:52:41 +03:00
Maksim Kita
e69581d72f
Fixed tests
2021-04-26 13:52:41 +03:00
Maksim Kita
64f49a981b
Fixed tests
2021-04-26 13:52:41 +03:00
Maksim Kita
2e3e90b25b
Fixed tests
2021-04-26 13:52:41 +03:00
Maksim Kita
a9917a6540
Refactored StorageDictionary
2021-04-26 13:52:41 +03:00
feng lv
4ffe199d39
Implement table comments
2021-04-23 12:18:23 +00:00
Ivan
495c6e03aa
Replace all Context references with std::weak_ptr ( #22297 )
...
* Replace all Context references with std::weak_ptr
* Fix shared context captured by value
* Fix build
* Fix Context with named sessions
* Fix copy context
* Fix gcc build
* Merge with master and fix build
* Fix gcc-9 build
2021-04-11 02:33:54 +03:00
Maksim Kita
32831e37ba
Added table function dictionary
2021-03-19 15:47:27 +03:00
Amos Bird
134786afd5
Disable ATTACH/DETACH TABLE <DICTIONARY>
2020-11-11 23:04:49 +08:00
Azat Khuzhin
b838214a35
Pass non-const SelectQueryInfo (and drop mutable qualifiers)
2020-10-02 22:42:35 +03:00
Alexander Tokmakov
7fcf20e48c
enable more tests
2020-09-22 17:29:09 +03:00
Alexander Tokmakov
13e41cdd20
try enable atomic database by default
2020-09-21 13:55:34 +03:00
Nikolai Kochetov
2cca4d5fcf
Refactor Pipe [part 2].
2020-08-03 16:54:14 +03:00
alexey-milovidov
cb126a23ef
Update StorageDictionary.h
2020-07-05 18:45:05 +03:00
alexey-milovidov
1a760e18a5
Update StorageDictionary.h
2020-07-05 18:44:28 +03:00
Vitaly Baranov
99e9b15e00
Make code clearer: use enum instead of bool internal
.
2020-07-05 17:14:29 +03:00
Vitaly Baranov
ab343132de
Fix handling dependency of table with ENGINE=Dictionary on dictionary.
2020-07-03 22:05:53 +03:00
alesapin
36ba0192df
Metadata in read and write methods of IStorage
2020-06-15 22:08:58 +03:00
alexey-milovidov
8cea45315f
Merge pull request #10133 from 4ertus2/joins
...
JOIN with Dictionary
2020-04-18 16:08:15 +03:00
Vitaly Baranov
d62345bbaa
Show information about not loaded dictionaries in system.columns, system.tables
...
and in "SHOW TABLES" executed in any database with the "Dictionary" engine.
2020-04-18 12:50:54 +03:00
Artem Zuikov
6106b2bfc7
Merge branch 'master' into joins
2020-04-13 20:37:27 +03:00
Azat Khuzhin
5b3c635200
Do not break DROP DICTIONARY after DROP TABLE executed on dictionary
2020-04-10 21:10:32 +03:00
Artem Zuikov
8d6f641796
join over dictionary concept
2020-04-08 21:59:52 +03:00
Ivan Lezhankin
06446b4f08
dbms/ → src/
2020-04-03 18:14:31 +03:00