| 169 | } |
| 170 | |
| 171 | void DictionaryColumn::scanValue(const SegmentState& dataState, uint64_t startOffset, |
| 172 | uint64_t length, ValueVector* resultVector, uint64_t offsetInVector) const { |
| 173 | // Add string to vector first and read directly into the vector |
| 174 | auto& str = StringVector::reserveString(resultVector, offsetInVector, length); |
| 175 | dataColumn->scanSegment(dataState, startOffset, length, (uint8_t*)str.getData()); |
| 176 | // Update prefix to match the scanned string data |
| 177 | if (!string_t::isShortString(str.len)) { |
| 178 | memcpy(str.prefix, str.getData(), string_t::PREFIX_LENGTH); |
| 179 | } |
| 180 | } |
| 181 | |
| 182 | void DictionaryColumn::scanValue(const SegmentState& dataState, uint64_t startOffset, |
| 183 | uint64_t length, StringChunkData* result, uint64_t offsetInResult) const { |
nothing calls this directly
no test coverage detected