Changed-lines coverage: PR changed C/C++ lines covered by tests: 93.06% (201/216) Uncovered changed code (with context): ================================================================================ src/Analyzer/Resolve/QueryAnalyzer.cpp ================================================================================ --- uncovered block 4302-4303 --- 4300 | if (sort_expression_projection_names_size != 1) 4301 | throw Exception(ErrorCodes::LOGICAL_ERROR, >> 4302 | "Sort expression expected 1 projection name. Actual: {}", >> 4303 | sort_expression_projection_names_size); 4304 | 4305 | bool previous_constant_expression_in_resolve_process = constant_expression_in_resolve_process; ================================================================================ src/Analyzer/Resolve/resolveFunction.cpp ================================================================================ --- uncovered block 1280-1282 --- 1278 | 1279 | if (function_node_ptr->getArguments().getNodes().size() != 1) >> 1280 | throw Exception(ErrorCodes::NUMBER_OF_ARGUMENTS_DOESNT_MATCH, >> 1281 | "Function 'UNIQUE' expects exactly one subquery argument. In scope {}", >> 1282 | scope.scope_node->formatASTForErrorMessage()); 1283 | 1284 | const auto & unique_subquery_argument = function_node_ptr->getArguments().getNodes().at(0); --- uncovered block 1289-1292 --- 1287 | && unique_subquery_argument_node_type != QueryTreeNodeType::UNION) 1288 | { >> 1289 | throw Exception(ErrorCodes::BAD_ARGUMENTS, >> 1290 | "Function 'UNIQUE' expects a subquery argument. Actual: {}. In scope {}", >> 1291 | unique_subquery_argument->formatASTForErrorMessage(), >> 1292 | scope.scope_node->formatASTForErrorMessage()); 1293 | } 1294 | --- uncovered block 1450-1451 --- 1448 | if (!const_node || const_node->getColumn()->isNullAt(0)) 1449 | throw Exception(ErrorCodes::LOGICAL_ERROR, >> 1450 | "UNIQUE rewrite did not produce a scalar constant. In scope {}", >> 1451 | scope.scope_node->formatASTForErrorMessage()); 1452 | 1453 | auto res_col = ColumnUInt8::create(); ================================================================================ src/Interpreters/TreeRewriter.cpp ================================================================================ --- uncovered block 316-317 --- 314 | { 315 | if (func.name == "__unique") >> 316 | throw Exception(ErrorCodes::NOT_IMPLEMENTED, >> 317 | "The UNIQUE predicate is not supported in this context. It can only be used in the expressions of a query."); 318 | } 319 | }; ================================================================================ src/Parsers/ExpressionListParsers.cpp ================================================================================ --- uncovered block 2311-2314 --- 2309 | 2310 | if (!ParserSelectWithUnionQuery().parse(pos, node, expected)) >> 2311 | return false; 2312 | 2313 | if (!ParserToken(TokenType::ClosingRoundBracket).ignore(pos, expected)) >> 2314 | return false; 2315 | 2316 | auto subquery = make_intrusive(std::move(node)); WARNING: Failed to get start time for [Print Uncovered Code] - start time and duration won't be set --- Coverage counts --- Lines : baseline 986,719/1,120,911 -> current 987,046/1,121,093 (delta +327 / +182) Functions : baseline 828,421/903,618 -> current 828,456/903,658 (delta +35 / +40) Branches : baseline 321,319/405,012 -> current 321,376/405,086 (delta +57 / +74)