| 307 | } |
| 308 | |
| 309 | void Tuple::SetStructToNull(const SlotDescriptor* const slot_desc) { |
| 310 | DCHECK(slot_desc != nullptr && slot_desc->type().IsStructType()); |
| 311 | DCHECK(slot_desc->children_tuple_descriptor() != nullptr); |
| 312 | SetNull(slot_desc->null_indicator_offset()); |
| 313 | for (SlotDescriptor* child_slot : slot_desc->children_tuple_descriptor()->slots()) { |
| 314 | SetNull(child_slot->null_indicator_offset()); |
| 315 | if (child_slot->type().IsStructType()) SetStructToNull(child_slot); |
| 316 | } |
| 317 | } |
| 318 | |
| 319 | char* Tuple::AllocateStrings(const char* err_ctx, RuntimeState* state, |
| 320 | int64_t bytes, MemPool* pool, Status* status) noexcept { |
no test coverage detected