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

Method BufferedTupleStream

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

Source from the content-addressed store, hash-verified

53constexpr int64_t BufferedTupleStream::MAX_PAGE_ITER_DEBUG;
54
55BufferedTupleStream::BufferedTupleStream(RuntimeState* state,
56 const RowDescriptor* row_desc, BufferPool::ClientHandle* buffer_pool_client,
57 int64_t default_page_len, int64_t max_page_len, const set<SlotId>& ext_varlen_slots)
58 : state_(state),
59 desc_(row_desc),
60 buffer_pool_(ExecEnv::GetInstance()->buffer_pool()),
61 buffer_pool_client_(buffer_pool_client),
62 read_page_reservation_(buffer_pool_client_),
63 large_read_page_reservation_(buffer_pool_client_),
64 write_page_reservation_(buffer_pool_client_),
65 default_page_len_(default_page_len),
66 max_page_len_(max_page_len),
67 has_nullable_tuple_(row_desc->IsAnyTupleNullable()) {
68 DCHECK_GE(max_page_len, default_page_len);
69 DCHECK(BitUtil::IsPowerOf2(default_page_len)) << default_page_len;
70 DCHECK(BitUtil::IsPowerOf2(max_page_len)) << max_page_len;
71 read_it_.Reset(&pages_);
72 for (int i = 0; i < desc_->tuple_descriptors().size(); ++i) {
73 const TupleDescriptor* tuple_desc = desc_->tuple_descriptors()[i];
74 const int tuple_byte_size = tuple_desc->byte_size();
75 fixed_tuple_sizes_.push_back(tuple_byte_size);
76 CollectInlinedSlots(tuple_desc, ext_varlen_slots, i);
77 }
78}
79
80void BufferedTupleStream::CollectInlinedSlots(const TupleDescriptor* tuple_desc,
81 const set<SlotId>& ext_varlen_slots, int tuple_idx) {

Callers

nothing calls this directly

Calls 6

IsAnyTupleNullableMethod · 0.80
push_backMethod · 0.80
buffer_poolMethod · 0.45
ResetMethod · 0.45
sizeMethod · 0.45
byte_sizeMethod · 0.45

Tested by

no test coverage detected