| 67 | } |
| 68 | |
| 69 | offset_t ListChunkData::getListStartOffset(offset_t offset) const { |
| 70 | if (numValues == 0 || (offset != numValues && nullData->isNull(offset))) { |
| 71 | return 0; |
| 72 | } |
| 73 | DASSERT(offset == numValues || getListEndOffset(offset) >= getListSize(offset)); |
| 74 | return offset == numValues ? getListEndOffset(offset - 1) : |
| 75 | getListEndOffset(offset) - getListSize(offset); |
| 76 | } |
| 77 | |
| 78 | offset_t ListChunkData::getListEndOffset(offset_t offset) const { |
| 79 | if (numValues == 0 || nullData->isNull(offset)) { |