Azat Khuzhin
4e76629aaf
Fixes for -Wshorten-64-to-32
...
- lots of static_cast
- add safe_cast
- types adjustments
- config
- IStorage::read/watch
- ...
- some TODO's (to convert types in future)
P.S. That was quite a journey...
v2: fixes after rebase
v3: fix conflicts after #42308 merged
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-10-21 13:25:19 +02:00
Robert Schulze
fd86829824
Consolidate config_core.h into config.h
...
Less duplication, less confusion ...
2022-09-28 13:31:57 +00:00
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
78b9f15abb
Merge remote-tracking branch 'upstream/master' into HEAD
2022-01-30 03:24:37 +03:00
Azat Khuzhin
08f4f45fd9
Fix Context leak (recursive context reference) in StorageSQLite
...
CI founds after LSan had been fixed [1]:
01889_sqlite_read_write: [ FAIL ] 8.32 sec. - return code: 1
=================================================================
==20649==ERROR: LeakSanitizer: detected memory leaks
Indirect leak of 1968 byte(s) in 1 object(s) allocated from:
0 0xc5c1ffd in operator new(unsigned long) (/usr/bin/clickhouse+0xc5c1ffd)
1 0x25e32d0d in std::__1::__unique_if<DB::StorageInMemoryMetadata>::__unique_single std::__1::make_unique<DB::StorageInMemoryMetadata, DB::StorageInMemoryMetadata const&>(DB::StorageInMemoryMetadata c>
2 0x25e32d0d in DB::IStorage::setInMemoryMetadata(DB::StorageInMemoryMetadata const&) obj-x86_64-linux-gnu/../src/Storages/IStorage.h:194:22
3 0x29bdee98 in DB::StorageSQLite::StorageSQLite(DB::StorageID const&, std::__1::shared_ptr<sqlite3>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std:>
4 0x25ee61d6 in std::__1::shared_ptr<DB::StorageSQLite> shared_ptr_helper<DB::StorageSQLite>::create<DB::StorageID, std::__1::shared_ptr<sqlite3> const&, std::__1::basic_string<char, std::__1::char_tr>
5 0x25ee61d6 in DB::TableFunctionSQLite::executeImpl(std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::Context const>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1:>
SUMMARY: AddressSanitizer: 171256 byte(s) leaked in 130 allocation(s).
[1]: https://github.com/ClickHouse/ClickHouse/runs/4929706698?check_suite_focus=true
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-26 12:56:27 +03:00
Anton Popov
a20922b2d3
Merge remote-tracking branch 'origin/sparse-serialization' into HEAD
2021-11-09 15:36:25 +03:00
Alexey Milovidov
8b4a6a2416
Remove cruft
2021-10-28 02:10:39 +03:00
Alexey Milovidov
fe6b7c77c7
Rename "common" to "base"
2021-10-02 10:13:14 +03:00
Azat Khuzhin
a4f2663b82
Log queries to external databases (since they may be rewriten)
...
By rewritten means that some expression from WHERE can be removed, yes
there is external_table_strict_query, but sometimes it is too strict.
2021-09-29 21:56:28 +03:00
Anton Popov
e36736b50c
Merge remote-tracking branch 'origin/sparse-serialization' into HEAD
2021-08-02 22:52:02 +03:00
Nikolai Kochetov
a9effdad18
Merge branch 'master' into output-streams-to-processors
2021-07-27 11:31:53 +03:00
Kseniia Sumarokova
5c5cb5d0d6
Update src/Storages/StorageSQLite.h
...
Co-authored-by: Vladimir <vdimir@yandex-team.ru>
2021-07-26 14:26:06 +03:00
kssenii
f3129b80f9
Fix sqlite attach
2021-07-26 07:20:41 +00:00
Nikolai Kochetov
2dc5c89b66
Update Storage::write
2021-07-23 17:25:35 +03:00
Anton Popov
f99374cca6
Merge remote-tracking branch 'origin/sparse-serialization' into HEAD
2021-07-20 18:20:21 +03:00
Nikita Mikhaylov
601d04f55d
ignore
2021-07-13 22:16:27 +00:00
kssenii
78094a82ab
Better
2021-07-10 08:05:23 +00:00
kssenii
1bf9a9f29f
Add .cmake
2021-07-09 10:27:53 +00:00
kssenii
b7f3d16c5f
Fix conversion
2021-07-07 20:39:41 +00:00
Arslan G
bf4171e0ea
Some review fixes
2021-06-01 23:52:12 +03:00
Arslan G
a9699e518c
Add write to SQLite
2021-05-24 21:59:10 +03:00
Arslan G
ea51840f85
Init SQLite integration
2021-05-17 14:02:35 +03:00