| 32 | } |
| 33 | |
| 34 | inline uint8_t* BufferedTupleStream::AddRowCustomBegin(int64_t size, Status* status) { |
| 35 | DCHECK(!closed_); |
| 36 | DCHECK(has_write_iterator()); |
| 37 | if (UNLIKELY(write_page_ == nullptr || write_ptr_ + size > write_end_ptr_)) { |
| 38 | return AddRowCustomBeginSlow(size, status); |
| 39 | } |
| 40 | DCHECK(write_page_ != nullptr); |
| 41 | DCHECK(write_page_->is_pinned()); |
| 42 | DCHECK_LE(write_ptr_ + size, write_end_ptr_); |
| 43 | ++num_rows_; |
| 44 | ++write_page_->num_rows; |
| 45 | |
| 46 | uint8_t* data = write_ptr_; |
| 47 | write_ptr_ += size; |
| 48 | return data; |
| 49 | } |
| 50 | |
| 51 | inline void BufferedTupleStream::AddRowCustomEnd(int64_t size) { |
| 52 | if (UNLIKELY(size > default_page_len_)) AddLargeRowCustomEnd(size); |