| 72 | } |
| 73 | |
| 74 | static void scanArrowArrayDurationScaledUp(const ArrowArray* array, ValueVector& outputVector, |
| 75 | ArrowNullMaskTree* mask, int64_t scaleFactor, uint64_t srcOffset, uint64_t dstOffset, |
| 76 | uint64_t count) { |
| 77 | auto arrayBuffer = ((const int64_t*)array->buffers[1]) + srcOffset; |
| 78 | |
| 79 | mask->copyToValueVector(&outputVector, dstOffset, count); |
| 80 | |
| 81 | rowIter(outputVector, count, [&](auto i) { |
| 82 | if (!mask->isNull(i)) { |
| 83 | auto curValue = arrayBuffer[i]; |
| 84 | outputVector.setValue<interval_t>(i + dstOffset, |
| 85 | interval_t(0, 0, curValue * scaleFactor)); |
| 86 | } |
| 87 | }); |
| 88 | } |
| 89 | |
| 90 | static void scanArrowArrayDurationScaledDown(const ArrowArray* array, ValueVector& outputVector, |
| 91 | ArrowNullMaskTree* mask, int64_t scaleFactor, uint64_t srcOffset, uint64_t dstOffset, |
no test coverage detected