| 1040 | } |
| 1041 | |
| 1042 | uint64_t ColumnChunkData::getSizeOnDiskInMemoryStats() const { |
| 1043 | // Probably could just return the actual size from the metadata if it's on-disk, but it's not |
| 1044 | // currently needed for on-disk segments |
| 1045 | DASSERT(ResidencyState::IN_MEMORY == residencyState); |
| 1046 | uint64_t nullSize = 0; |
| 1047 | if (nullData) { |
| 1048 | nullSize = nullData->getSizeOnDiskInMemoryStats(); |
| 1049 | } |
| 1050 | auto metadata = getMetadataFunction(buffer->getBuffer(), numValues, |
| 1051 | inMemoryStats.min.value_or(StorageValue{}), inMemoryStats.max.value_or(StorageValue{})); |
| 1052 | return metadata.getNumDataPages(dataType.getPhysicalType()) * common::LBUG_PAGE_SIZE + nullSize; |
| 1053 | } |
| 1054 | |
| 1055 | std::vector<std::unique_ptr<ColumnChunkData>> ColumnChunkData::split(bool targetMaxSize) const { |
| 1056 | // FIXME(bmwinger): we either need to split recursively, or detect individual values which bring |
no test coverage detected