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
0ba78c3c3a
Merge remote-tracking branch 'upstream/master' into HEAD
2022-03-16 15:28:09 +00:00
Maksim Kita
2fdcf53a76
Fix clang-tidy warnings in Server, Storages folders
2022-03-14 18:17:35 +00:00
Anton Popov
a20922b2d3
Merge remote-tracking branch 'origin/sparse-serialization' into HEAD
2021-11-09 15:36:25 +03:00
Nikolai Kochetov
a08c98d760
Move some files.
2021-10-16 17:03:50 +03:00
Alexey Milovidov
fe6b7c77c7
Rename "common" to "base"
2021-10-02 10:13:14 +03:00
Nikolai Kochetov
7fc830ae2b
Rename QueryPipeline to QueryPipelineBuilder.
2021-09-14 19:28:41 +03:00
Anton Popov
4c388e3d84
Merge remote-tracking branch 'origin/sparse-serialization' into HEAD
2021-09-09 14:10:16 +03:00
mergify[bot]
ae22bab2c4
Merge branch 'master' into materialize_ttl_recalculate_only
2021-08-24 08:49:19 +00:00
Anton Popov
61239343e3
Merge remote-tracking branch 'origin/sparse-serialization' into HEAD
2021-08-20 16:33:30 +03:00
Amos Bird
ea7dc495cf
Better code.
2021-08-17 12:32:49 +08:00
Amos Bird
b162a2b699
Improve projection analysis.
...
Remove duplicate index analysis and avoid possible invalid limit checks
during projection analysis.
2021-08-16 20:11:57 +08:00
terrylin
dd539f0a0d
improvement of materilize ttl
2021-08-05 15:33:02 +08:00
terrylin
bd3d9a4518
materialize ttl recalculate only (optional)
2021-08-05 14:17:48 +08:00
Anton Popov
f99374cca6
Merge remote-tracking branch 'origin/sparse-serialization' into HEAD
2021-07-20 18:20:21 +03:00
Anton Popov
6ba41dc265
fix projections with storage snapshot
2021-07-12 16:45:35 +03:00
Anton Popov
3ed7f5a6cc
dynamic subcolumns: add snapshot for storage
2021-07-09 06:15:41 +03:00
Amos Bird
55981cb0ae
Fix normal projection
2021-07-07 13:01:30 +08:00
Maksim Kita
67e9b85951
Merge ext into common
2021-06-16 23:28:41 +03:00
Nikolai Kochetov
cbdf3752ef
Part 3.
2021-05-27 16:40:33 +03:00
Amos Bird
9c069ebdbf
support prewhere, row_filter, read_in_order and decent projection selection
...
TODO set index analysis in projection
2021-05-11 18:12:27 +08:00
Amos Bird
ebaf42a448
Reformat and fix some tests
2021-05-11 18:12:27 +08:00
Nikolai Kochetov
672cfedd13
Disable normal projection by the number of granules.
2021-05-11 18:12:26 +08:00
Amos Bird
264cff6415
Projections
...
TODO (suggested by Nikolai)
1. Build query plan fro current query (inside storage::read) up to WithMergableState
2. Check, that plan is simple enough: Aggregating - Expression - Filter - ReadFromStorage (or simplier)
3. Check, that filter is the same as filter in projection, and also expression calculates the same aggregation keys as in projection
4. Return WithMergableState if projection applies
3 will be easier to do with ActionsDAG, cause it sees all functions, and dependencies are direct (but it is possible with ExpressionActions also)
Also need to figure out how prewhere works for projections, and
row_filter_policies.
wip
2021-05-11 18:12:23 +08: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
Nikolai Kochetov
9a39459888
Refactor ActionsDAG
2021-03-04 20:38:12 +03:00
Nikolai Kochetov
d328bfa41f
Review fixes. Add setting max_optimizations_to_apply.
2021-02-26 19:29:56 +03:00
Nikolai Kochetov
195c941c4e
Merge branch 'master' into storage-read-query-plan
2020-11-10 15:02:22 +03:00
Vladimir Chebotarev
059357d51e
ALTER UPDATE/DELETE ... IN PARTITION
with partition pruning in ReplicatedMergeTree
(#13403 )
...
Co-authored-by: Alexander Kazakov <Akazz@users.noreply.github.com>
2020-11-10 13:23:46 +03:00
Nikolai Kochetov
c5cb05f5f3
Try fix tests.
2020-10-07 14:26:29 +03:00
Azat Khuzhin
b838214a35
Pass non-const SelectQueryInfo (and drop mutable qualifiers)
2020-10-02 22:42:35 +03:00
Nikolai Kochetov
5ea4dc0850
Try fix tests.
2020-10-02 14:25:16 +03:00
Nikolai Kochetov
ec64def384
Use QueryPlan while reading from MergeTree.
2020-10-01 20:34:22 +03:00
Nikolai Kochetov
e411916bde
Refactor Pipe [part 1].
2020-08-03 14:33:11 +03:00
Nikolai Kochetov
39530f837e
Remove TreeExecutorBlockInputStream.
2020-07-31 16:23:19 +03:00
alesapin
62f2c17a66
Secondary indices in StorageInMemoryMetadata
2020-06-17 12:38:47 +03:00
alesapin
71f99a274d
Compileable getSampleBlockWithColumns in StorageInMemoryMetadata
2020-06-16 17:25:08 +03:00
alesapin
36ba0192df
Metadata in read and write methods of IStorage
2020-06-15 22:08:58 +03:00
alesapin
af2fe2ba55
Compilable setColumns, setConstraints, setIndices
2020-06-15 19:55:33 +03:00
alesapin
abaf47f0cd
Make metadata single structure
2020-06-05 20:29:40 +03:00
alesapin
663e92b1c5
Rename to methods
2020-06-01 14:29:11 +03:00
alesapin
d9a817f578
Less virtual methods in IStorage
2020-06-01 14:17:18 +03:00
alesapin
adc7439a4c
Comments and refactoring
2020-05-25 20:57:08 +03:00
alesapin
9b3cc9e525
Almost working ttl in IStorage
2020-05-25 20:07:14 +03:00
alesapin
41914588fd
More clear
2020-05-21 22:07:18 +03:00
alesapin
f981649213
Fix pushing to views stream and refactor virtuals
2020-04-28 13:38:57 +03:00
alesapin
18c550df15
Better virtuals logic
2020-04-27 16:55:30 +03:00
alesapin
b0a73589b0
Remove virtual columns as separate field from IStorage
2020-04-23 18:09:00 +03:00
alesapin
1cb072d58a
Merge branch 'master' into alter_rename_column
2020-04-06 11:40:27 +03:00
Ivan Lezhankin
06446b4f08
dbms/ → src/
2020-04-03 18:14:31 +03:00