| 97 | } |
| 98 | |
| 99 | StorageExecutable::StorageExecutable( |
| 100 | const StorageID & table_id_, |
| 101 | const String & format, |
| 102 | const ExecutableSettings & settings_, |
| 103 | const VectorWithMemoryTracking<ASTPtr> & input_queries_, |
| 104 | const ColumnsDescription & columns, |
| 105 | const ConstraintsDescription & constraints, |
| 106 | const String & comment) |
| 107 | : StorageWithCommonVirtualColumns(table_id_) |
| 108 | , settings(std::make_unique<ExecutableSettings>(settings_)) |
| 109 | , input_queries(input_queries_) |
| 110 | , log(settings->is_executable_pool ? getLogger("StorageExecutablePool") : getLogger("StorageExecutable")) |
| 111 | { |
| 112 | StorageInMemoryMetadata storage_metadata; |
| 113 | storage_metadata.setColumns(columns); |
| 114 | storage_metadata.setConstraints(constraints); |
| 115 | storage_metadata.setComment(comment); |
| 116 | storage_metadata.setVirtuals(createVirtuals()); |
| 117 | setInMemoryMetadata(storage_metadata); |
| 118 | |
| 119 | ShellCommandSourceCoordinator::Configuration configuration |
| 120 | { |
| 121 | .format = format, |
| 122 | .command_termination_timeout_seconds = (*settings)[ExecutableSetting::command_termination_timeout], |
| 123 | .command_read_timeout_milliseconds = (*settings)[ExecutableSetting::command_read_timeout], |
| 124 | .command_write_timeout_milliseconds = (*settings)[ExecutableSetting::command_write_timeout], |
| 125 | .stderr_reaction = (*settings)[ExecutableSetting::stderr_reaction], |
| 126 | .check_exit_code = (*settings)[ExecutableSetting::check_exit_code], |
| 127 | |
| 128 | .pool_size = (*settings)[ExecutableSetting::pool_size], |
| 129 | .max_command_execution_time_seconds = (*settings)[ExecutableSetting::max_command_execution_time], |
| 130 | |
| 131 | .is_executable_pool = settings->is_executable_pool, |
| 132 | .send_chunk_header = (*settings)[ExecutableSetting::send_chunk_header], |
| 133 | .execute_direct = true |
| 134 | }; |
| 135 | |
| 136 | coordinator = std::make_unique<ShellCommandSourceCoordinator>(std::move(configuration)); |
| 137 | } |
| 138 | |
| 139 | VirtualColumnsDescription StorageExecutable::createVirtuals() |
| 140 | { |
nothing calls this directly
no test coverage detected