MCPcopy Create free account
hub / github.com/apache/impala / NewWritePage

Method NewWritePage

be/src/runtime/buffered-tuple-stream.cc:379–397  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

377}
378
379Status BufferedTupleStream::NewWritePage(int64_t page_len) noexcept {
380 DCHECK(!closed_);
381 DCHECK(write_page_ == nullptr);
382
383 Page new_page;
384 const BufferHandle* write_buffer;
385 RETURN_IF_ERROR(buffer_pool_->CreatePage(
386 buffer_pool_client_, page_len, &new_page.handle, &write_buffer));
387 bytes_pinned_ += page_len;
388 total_byte_size_ += page_len;
389
390 pages_.push_back(std::move(new_page));
391 ++num_pages_;
392 write_page_ = &pages_.back();
393 DCHECK_EQ(write_page_->num_rows, 0);
394 write_ptr_ = write_buffer->data();
395 write_end_ptr_ = write_ptr_ + page_len;
396 return Status::OK();
397}
398
399Status BufferedTupleStream::CalcPageLenForRow(int64_t row_size, int64_t* page_len) {
400 if (UNLIKELY(row_size > max_page_len_)) {

Callers

nothing calls this directly

Calls 5

moveFunction · 0.85
OKFunction · 0.85
CreatePageMethod · 0.80
push_backMethod · 0.80
dataMethod · 0.45

Tested by

no test coverage detected