| 296 | } |
| 297 | |
| 298 | virtual void Get(RowReaderReplicate* reader_rep) { |
| 299 | RowReaderReplicateImpl* reader_rep_impl = (RowReaderReplicateImpl*)reader_rep; |
| 300 | bool is_async = reader_rep_impl->IsAsync(); |
| 301 | const std::vector<RowReader*>& reader_list = reader_rep_impl->GetRowReaderList(); |
| 302 | const std::vector<Table*>& table_list = reader_rep_impl->GetTableList(); |
| 303 | size_t reader_num = reader_list.size(); |
| 304 | for (size_t i = 0; i < reader_num; i++) { |
| 305 | table_list[i]->Get(reader_list[i]); |
| 306 | } |
| 307 | if (!is_async) { |
| 308 | reader_rep_impl->Wait(); |
| 309 | } |
| 310 | } |
| 311 | |
| 312 | private: |
| 313 | TableReplicateImpl(const TableReplicateImpl&); |