| 110 | } |
| 111 | |
| 112 | void ValueVector::copyToRowData(uint32_t pos, uint8_t* rowData, |
| 113 | InMemOverflowBuffer* rowOverflowBuffer) const { |
| 114 | switch (dataType.getPhysicalType()) { |
| 115 | case PhysicalTypeID::STRUCT: { |
| 116 | StructVector::copyToRowData(this, pos, rowData, rowOverflowBuffer); |
| 117 | } break; |
| 118 | case PhysicalTypeID::ARRAY: |
| 119 | case PhysicalTypeID::LIST: { |
| 120 | ListVector::copyToRowData(this, pos, rowData, rowOverflowBuffer); |
| 121 | } break; |
| 122 | case PhysicalTypeID::STRING: |
| 123 | case PhysicalTypeID::JSON: { |
| 124 | StringVector::copyToRowData(this, pos, rowData, rowOverflowBuffer); |
| 125 | } break; |
| 126 | default: { |
| 127 | auto dataTypeSize = LogicalTypeUtils::getRowLayoutSize(dataType); |
| 128 | memcpy(rowData, getData() + pos * dataTypeSize, dataTypeSize); |
| 129 | } |
| 130 | } |
| 131 | } |
| 132 | |
| 133 | void ValueVector::copyFromVectorData(uint8_t* dstData, const ValueVector* srcVector, |
| 134 | const uint8_t* srcVectorData) { |
no test coverage detected