mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-11 17:02:25 +00:00
Add comments about fictitious subcolumns
This commit is contained in:
parent
bc7fd604b7
commit
824506290b
@ -132,6 +132,7 @@ void MergeTreeDataPartWriterWide::addStreams(
|
|||||||
{
|
{
|
||||||
assert(!substream_path.empty());
|
assert(!substream_path.empty());
|
||||||
|
|
||||||
|
/// Don't create streams for fictitious subcolumns that don't store any real data.
|
||||||
if (ISerialization::isFictitiousSubcolumn(substream_path, substream_path.size()))
|
if (ISerialization::isFictitiousSubcolumn(substream_path, substream_path.size()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -208,6 +209,7 @@ ISerialization::OutputStreamGetter MergeTreeDataPartWriterWide::createStreamGett
|
|||||||
{
|
{
|
||||||
return [&, this] (const ISerialization::SubstreamPath & substream_path) -> WriteBuffer *
|
return [&, this] (const ISerialization::SubstreamPath & substream_path) -> WriteBuffer *
|
||||||
{
|
{
|
||||||
|
/// Skip fictitious subcolumns that don't store any real data.
|
||||||
if (ISerialization::isFictitiousSubcolumn(substream_path, substream_path.size()))
|
if (ISerialization::isFictitiousSubcolumn(substream_path, substream_path.size()))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
@ -373,6 +375,7 @@ StreamsWithMarks MergeTreeDataPartWriterWide::getCurrentMarksForColumn(
|
|||||||
min_compress_block_size = settings.min_compress_block_size;
|
min_compress_block_size = settings.min_compress_block_size;
|
||||||
getSerialization(name_and_type.name)->enumerateStreams([&] (const ISerialization::SubstreamPath & substream_path)
|
getSerialization(name_and_type.name)->enumerateStreams([&] (const ISerialization::SubstreamPath & substream_path)
|
||||||
{
|
{
|
||||||
|
/// Skip fictitious subcolumns that don't store any real data.
|
||||||
if (ISerialization::isFictitiousSubcolumn(substream_path, substream_path.size()))
|
if (ISerialization::isFictitiousSubcolumn(substream_path, substream_path.size()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -414,6 +417,7 @@ void MergeTreeDataPartWriterWide::writeSingleGranule(
|
|||||||
/// So that instead of the marks pointing to the end of the compressed block, there were marks pointing to the beginning of the next one.
|
/// So that instead of the marks pointing to the end of the compressed block, there were marks pointing to the beginning of the next one.
|
||||||
serialization->enumerateStreams([&] (const ISerialization::SubstreamPath & substream_path)
|
serialization->enumerateStreams([&] (const ISerialization::SubstreamPath & substream_path)
|
||||||
{
|
{
|
||||||
|
/// Skip fictitious subcolumns that don't store any real data.
|
||||||
if (ISerialization::isFictitiousSubcolumn(substream_path, substream_path.size()))
|
if (ISerialization::isFictitiousSubcolumn(substream_path, substream_path.size()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -213,6 +213,7 @@ void MergeTreeReaderWide::addStreams(
|
|||||||
|
|
||||||
ISerialization::StreamCallback callback = [&] (const ISerialization::SubstreamPath & substream_path)
|
ISerialization::StreamCallback callback = [&] (const ISerialization::SubstreamPath & substream_path)
|
||||||
{
|
{
|
||||||
|
/// Don't create streams for fictitious subcolumns that don't store any real data.
|
||||||
if (ISerialization::isFictitiousSubcolumn(substream_path, substream_path.size()))
|
if (ISerialization::isFictitiousSubcolumn(substream_path, substream_path.size()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -351,6 +352,7 @@ void MergeTreeReaderWide::prefetchForColumn(
|
|||||||
deserializePrefix(serialization, name_and_type, current_task_last_mark, cache, deserialize_states_cache);
|
deserializePrefix(serialization, name_and_type, current_task_last_mark, cache, deserialize_states_cache);
|
||||||
auto callback = [&](const ISerialization::SubstreamPath & substream_path)
|
auto callback = [&](const ISerialization::SubstreamPath & substream_path)
|
||||||
{
|
{
|
||||||
|
/// Skip fictitious subcolumns that don't store any real data.
|
||||||
if (ISerialization::isFictitiousSubcolumn(substream_path, substream_path.size()))
|
if (ISerialization::isFictitiousSubcolumn(substream_path, substream_path.size()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -211,6 +211,7 @@ static IMergeTreeDataPart::Checksums checkDataPart(
|
|||||||
{
|
{
|
||||||
get_serialization(column)->enumerateStreams([&](const ISerialization::SubstreamPath & substream_path)
|
get_serialization(column)->enumerateStreams([&](const ISerialization::SubstreamPath & substream_path)
|
||||||
{
|
{
|
||||||
|
/// Skip fictitious subcolumns that don't store any real data.
|
||||||
if (ISerialization::isFictitiousSubcolumn(substream_path, substream_path.size()))
|
if (ISerialization::isFictitiousSubcolumn(substream_path, substream_path.size()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user