| 18 | } |
| 19 | |
| 20 | static SharedHeader checkHeaders(const SharedHeaders & input_headers) |
| 21 | { |
| 22 | if (input_headers.empty()) |
| 23 | throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot perform intersect/except on empty set of query plan steps"); |
| 24 | |
| 25 | SharedHeader res = input_headers.front(); |
| 26 | for (const auto & header : input_headers) |
| 27 | assertBlocksHaveEqualStructure(*header, *res, "IntersectOrExceptStep"); |
| 28 | |
| 29 | return res; |
| 30 | } |
| 31 | |
| 32 | IntersectOrExceptStep::IntersectOrExceptStep( |
| 33 | SharedHeaders input_headers_, Operator operator_, size_t max_threads_) |
no test coverage detected