| 189 | } |
| 190 | |
| 191 | static void resizeVector(ArrowVector* vector, const LogicalType& type, std::int64_t capacity, |
| 192 | bool fallbackExtensionTypes) { |
| 193 | auto result = std::make_unique<ArrowVector>(); |
| 194 | switch (type.getLogicalTypeID()) { |
| 195 | case LogicalTypeID::UUID: { |
| 196 | if (fallbackExtensionTypes) { |
| 197 | resizeBLOBVector(vector, type, capacity, capacity, fallbackExtensionTypes); |
| 198 | return; |
| 199 | } |
| 200 | [[fallthrough]]; |
| 201 | } |
| 202 | case LogicalTypeID::BOOL: |
| 203 | case LogicalTypeID::DECIMAL: |
| 204 | case LogicalTypeID::INT128: |
| 205 | case LogicalTypeID::SERIAL: |
| 206 | case LogicalTypeID::INT64: |
| 207 | case LogicalTypeID::INT32: |
| 208 | case LogicalTypeID::INT16: |
| 209 | case LogicalTypeID::INT8: |
| 210 | case LogicalTypeID::UINT64: |
| 211 | case LogicalTypeID::UINT32: |
| 212 | case LogicalTypeID::UINT16: |
| 213 | case LogicalTypeID::UINT8: |
| 214 | case LogicalTypeID::DOUBLE: |
| 215 | case LogicalTypeID::FLOAT: |
| 216 | case LogicalTypeID::DATE: |
| 217 | case LogicalTypeID::TIMESTAMP_MS: |
| 218 | case LogicalTypeID::TIMESTAMP_NS: |
| 219 | case LogicalTypeID::TIMESTAMP_SEC: |
| 220 | case LogicalTypeID::TIMESTAMP_TZ: |
| 221 | case LogicalTypeID::TIMESTAMP: |
| 222 | case LogicalTypeID::INTERVAL: |
| 223 | return resizeGeneric(vector, type, capacity, fallbackExtensionTypes); |
| 224 | case LogicalTypeID::BLOB: |
| 225 | case LogicalTypeID::STRING: |
| 226 | return resizeBLOBVector(vector, type, capacity, capacity, fallbackExtensionTypes); |
| 227 | case LogicalTypeID::LIST: |
| 228 | case LogicalTypeID::MAP: |
| 229 | return resizeListVector(vector, type, capacity, capacity, fallbackExtensionTypes); |
| 230 | case LogicalTypeID::ARRAY: |
| 231 | return resizeFixedListVector(vector, type, capacity, fallbackExtensionTypes); |
| 232 | case LogicalTypeID::RECURSIVE_REL: |
| 233 | case LogicalTypeID::NODE: |
| 234 | case LogicalTypeID::REL: |
| 235 | case LogicalTypeID::STRUCT: |
| 236 | return resizeStructVector(vector, type, capacity, fallbackExtensionTypes); |
| 237 | case LogicalTypeID::UNION: |
| 238 | return resizeUnionVector(vector, type, capacity, fallbackExtensionTypes); |
| 239 | case LogicalTypeID::INTERNAL_ID: |
| 240 | return resizeInternalIDVector(vector, type, capacity, fallbackExtensionTypes); |
| 241 | default: { |
| 242 | // LCOV_EXCL_START |
| 243 | throw common::RuntimeException{ |
| 244 | std::format("Unsupported type: {} for arrow conversion.", type.toString())}; |
| 245 | // LCOV_EXCL_STOP |
| 246 | } |
| 247 | } |
| 248 | } |
no test coverage detected