| 72 | } |
| 73 | |
| 74 | void StringChunkData::append(ValueVector* vector, const SelectionView& selView) { |
| 75 | selView.forEach([&](auto pos) { |
| 76 | // index is stored in main chunk, data is stored in the data chunk |
| 77 | DASSERT(vector->dataType.getPhysicalType() == PhysicalTypeID::STRING || |
| 78 | vector->dataType.getPhysicalType() == PhysicalTypeID::JSON); |
| 79 | // index is stored in main chunk, data is stored in the data chunk |
| 80 | nullData->setNull(numValues, vector->isNull(pos)); |
| 81 | auto dstPos = numValues; |
| 82 | updateNumValues(numValues + 1); |
| 83 | if (!vector->isNull(pos)) { |
| 84 | auto str = vector->getValue<string_t>(pos); |
| 85 | setValueFromString(str.getAsStringView(), dstPos); |
| 86 | } |
| 87 | }); |
| 88 | } |
| 89 | |
| 90 | void StringChunkData::append(const ColumnChunkData* other, offset_t startPosInOtherChunk, |
| 91 | uint32_t numValuesToAppend) { |
nothing calls this directly
no test coverage detected