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