| 157 | } |
| 158 | |
| 159 | Block executeMonoBlock(QueryPipeline & pipeline) |
| 160 | { |
| 161 | if (!pipeline.pulling()) |
| 162 | throw Exception(ErrorCodes::LOGICAL_ERROR, "Expected pulling pipeline"); |
| 163 | |
| 164 | PullingPipelineExecutor pulling_executor(pipeline); |
| 165 | Blocks blocks; |
| 166 | while (true) |
| 167 | { |
| 168 | Block block; |
| 169 | if (pulling_executor.pull(block)) |
| 170 | blocks.push_back(std::move(block)); |
| 171 | else |
| 172 | break; |
| 173 | } |
| 174 | |
| 175 | return concatenateBlocks(blocks); |
| 176 | } |
| 177 | |
| 178 | StoragePtr TableFunctionExplain::executeImpl( |
| 179 | const ASTPtr & /*ast_function*/, ContextPtr context, const std::string & table_name, ColumnsDescription /*cached_columns*/, bool is_insert_query) const |
no test coverage detected