| 190 | } |
| 191 | |
| 192 | BlockIO getDistributedDDLStatus(const String & node_path, const DDLLogEntry & entry, ContextPtr context, const std::optional<Strings> & hosts_to_wait) |
| 193 | { |
| 194 | BlockIO io; |
| 195 | if (context->getSettingsRef().distributed_ddl_task_timeout == 0) |
| 196 | return io; |
| 197 | |
| 198 | BlockInputStreamPtr stream = std::make_shared<DDLQueryStatusInputStream>(node_path, entry, context, hosts_to_wait); |
| 199 | if (context->getSettingsRef().distributed_ddl_output_mode == DistributedDDLOutputMode::NONE) |
| 200 | { |
| 201 | /// Wait for query to finish, but ignore output |
| 202 | auto null_output = std::make_shared<NullBlockOutputStream>(stream->getHeader()); |
| 203 | stream = std::make_shared<NullAndDoCopyBlockInputStream>(std::move(stream), std::move(null_output)); |
| 204 | } |
| 205 | |
| 206 | io.in = std::move(stream); |
| 207 | return io; |
| 208 | } |
| 209 | |
| 210 | DDLQueryStatusInputStream::DDLQueryStatusInputStream(const String & zk_node_path, const DDLLogEntry & entry, ContextPtr context_, |
| 211 | const std::optional<Strings> & hosts_to_wait) |
no test coverage detected