Changed-lines coverage: PR changed C/C++ lines covered by tests: 93.71% (313/334) Uncovered changed code (with context): ================================================================================ src/Interpreters/InterpreterSelectQuery.cpp ================================================================================ --- uncovered block 935-947 --- 933 | SelectQueryInfo current_info; 934 | current_info.query = query_ptr; >> 935 | current_info.syntax_analyzer_result = syntax_analyzer_result; >> 936 | const auto & supported_prewhere_columns = storage->supportedPrewhereColumns(); 937 | 938 | /// The parts are only there for a storage of the `MergeTree` family, and they are 939 | /// only used by its condition selectivity estimator. Other storages that allow 940 | /// moving conditions to `PREWHERE` either have no snapshot data at all or have 941 | /// their own type of it (`StorageMemory`), so the type has to be checked. >> 942 | RangesInDataParts parts_for_estimator; >> 943 | if (const auto * merge_tree_snapshot_data >> 944 | = dynamic_cast(storage_snapshot->data.get())) 945 | { >> 946 | if (merge_tree_snapshot_data->parts) >> 947 | parts_for_estimator = *merge_tree_snapshot_data->parts; 948 | } 949 | ================================================================================ src/Processors/QueryPlan/ReadFromMemoryStorageStep.cpp ================================================================================ --- uncovered block 152-152 --- 150 | /// reported the block's rows as read. 151 | if (isCancelled()) >> 152 | return {}; 153 | continue; 154 | } --- uncovered block 264-265 --- 262 | if (constant_filter.always_false) 263 | { >> 264 | progress(num_src_rows, num_read_bytes); >> 265 | return std::nullopt; 266 | } 267 | --- uncovered block 349-351 --- 347 | if (which.isNativeInt() || which.isNativeUInt()) 348 | return type->createColumnConst(num_rows, 1u)->convertToFullColumnIfConst(); >> 349 | if (which.isFloat()) >> 350 | return type->createColumnConst(num_rows, 1.0f)->convertToFullColumnIfConst(); >> 351 | throw Exception(ErrorCodes::ILLEGAL_TYPE_OF_COLUMN_FOR_FILTER, "Illegal type {} of column for filter", type->getName()); 352 | } 353 | ================================================================================ src/Storages/StorageMemory.cpp ================================================================================ --- uncovered block 355-355 --- 353 | /// swap in a possibly-truncated result. 354 | if (cancelled) >> 355 | throw_on_cancellation(); 356 | new_data = std::make_unique(); 357 | new_data->blocks = out; --- uncovered block 386-387 --- 384 | { 385 | if (out[i].rows() != old_blocks[i].rows()) >> 386 | reject_incomplete(fmt::format( >> 387 | "block {} has {} rows, expected {}", i, out[i].rows(), old_blocks[i].rows())); 388 | } 389 | --- uncovered block 702-702 --- 700 | 701 | /// Append old blocks with the new ones. >> 702 | auto old_and_new_data = std::make_unique(*(data.get())); 703 | old_and_new_data->blocks.insert( 704 | old_and_new_data->blocks.end(), std::make_move_iterator(new_blocks.begin()), std::make_move_iterator(new_blocks.end())); --- uncovered block 775-777 --- 773 | { 774 | if (query_context->getPinnedStorageSnapshot(getStorageID().uuid)) >> 775 | return false; 776 | if (query_context->hasQueryContext() && query_context->getQueryContext()->getPinnedStorageSnapshot(getStorageID().uuid)) >> 777 | return false; 778 | } 779 | return true; ================================================================================ src/Storages/StorageMemory.h ================================================================================ --- uncovered block 41-41 --- 39 | String getName() const override { return "Memory"; } 40 | >> 41 | size_t getSize() const { return data.get()->blocks.size(); } 42 | 43 | /// Snapshot for StorageMemory contains current set of blocks ================================================================================ src/Storages/StorageMerge.cpp ================================================================================ --- uncovered block 2625-2625 --- 2623 | const auto source_table_id = table->getStorageID(); 2624 | if (!source_table_id.hasDatabase()) >> 2625 | return false; 2626 | auto row_policy_filter = ctx->getRowPolicyFilter( 2627 | source_table_id.getDatabaseName(), source_table_id.getTableName(), RowPolicyFilterType::SELECT_FILTER); WARNING: Failed to get start time for [Print Uncovered Code] - start time and duration won't be set --- Coverage counts --- Lines : baseline 1,082,640/1,224,077 -> current 1,082,837/1,224,301 (delta +197 / +224) Functions : baseline 836,419/910,668 -> current 836,070/910,679 (delta -349 / +11) Branches : baseline 363,230/450,420 -> current 363,412/450,544 (delta +182 / +124)