| 99 | } |
| 100 | |
| 101 | std::shared_ptr<Table> Slice(int64_t offset, int64_t length) const override { |
| 102 | auto sliced = columns_; |
| 103 | int64_t num_rows = length; |
| 104 | for (auto& column : sliced) { |
| 105 | column = column->Slice(offset, length); |
| 106 | num_rows = column->length(); |
| 107 | } |
| 108 | return Table::Make(schema_, std::move(sliced), num_rows); |
| 109 | } |
| 110 | |
| 111 | Result<std::shared_ptr<Table>> RemoveColumn(int i) const override { |
| 112 | ARROW_ASSIGN_OR_RAISE(auto new_schema, schema_->RemoveField(i)); |