16 #ifndef IMPALA_RUNTIME_TUPLE_ROW_H
17 #define IMPALA_RUNTIME_TUPLE_ROW_H
40 int size = descs.size() *
sizeof(
Tuple*);
42 DeepCopy(result, descs, pool,
false);
53 bool reuse_tuple_mem) {
54 for (
int i = 0; i < descs.size(); ++i) {
56 if (reuse_tuple_mem && dst->
GetTuple(i) != NULL) {
70 uint8_t* mem =
const_cast<uint8_t*
>(
reinterpret_cast<const uint8_t*
>(
this));
Tuple * GetTuple(int tuple_idx)
A tuple with 0 materialised slots is represented as NULL.
TupleRow * next_row(RowBatch *batch) const
Tuple * DeepCopy(const TupleDescriptor &desc, MemPool *pool, bool convert_ptrs=false)
static const char * LLVM_CLASS_NAME
void DeepCopy(TupleRow *dst, const std::vector< TupleDescriptor * > &descs, MemPool *pool, bool reuse_tuple_mem)
void SetTuple(int tuple_idx, Tuple *tuple)
TupleRow * DeepCopy(const std::vector< TupleDescriptor * > &descs, MemPool *pool)
Create a deep copy of this TupleRow. DeepCopy will allocate from the pool.
uint8_t * Allocate(int size)