| 354 | |
| 355 | template <bool needSort> |
| 356 | void SpillableWindowBuild<needSort>::finish() { |
| 357 | for (int i = 0; i < allocatedSizes_.size(); i++) { |
| 358 | if (allocatedSizes_[i] == 0) { |
| 359 | continue; |
| 360 | } |
| 361 | data_->pool()->free(allocatedStarts_[i], allocatedSizes_[i]); |
| 362 | allocatedSizes_[i] = 0; |
| 363 | } |
| 364 | sortRows_.clear(); |
| 365 | allocatedStarts_.clear(); |
| 366 | allocatedSizes_.clear(); |
| 367 | numBuffers_.clear(); |
| 368 | data_->clear(); |
| 369 | data_->pool()->release(); |
| 370 | } |
| 371 | |
| 372 | // Spill large partitions |
| 373 | template <bool needSort> |