MCPcopy Create free account
hub / github.com/ByConity/ByConity / findColumnForOffsets

Method findColumnForOffsets

src/Storages/MergeTree/MergeTreeReaderCompact.cpp:472–489  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

470}
471
472IMergeTreeReader::ColumnPosition MergeTreeReaderCompact::findColumnForOffsets(const String & column_name) const
473{
474 String table_name = Nested::extractTableName(column_name);
475 for (const auto & part_column : data_part->getColumns())
476 {
477 if (typeid_cast<const DataTypeArray *>(part_column.type.get()))
478 {
479 auto compact_part = std::dynamic_pointer_cast<const MergeTreeDataPartCompact>(data_part);
480 if (!compact_part)
481 throw Exception("Can not convert part into MergeTreeDataPartCompact in MergeTreeReaderCompact.", ErrorCodes::LOGICAL_ERROR);
482 auto position = compact_part->getColumnPositionWithoutMap(part_column.name);
483 if (position && Nested::extractTableName(part_column.name) == table_name)
484 return position;
485 }
486 }
487
488 return {};
489}
490
491bool MergeTreeReaderCompact::isContinuousReading(size_t mark, size_t column_position)
492{

Callers

nothing calls this directly

Calls 5

extractTableNameFunction · 0.85
ExceptionClass · 0.50
getColumnsMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected