| 665 | |
| 666 | template <class DataType> |
| 667 | Status WriteTimestampBatch(const Array& array, int64_t orc_offset, |
| 668 | liborc::ColumnVectorBatch* column_vector_batch, |
| 669 | const int64_t& conversion_factor_from_second, |
| 670 | const int64_t& conversion_factor_to_nano) { |
| 671 | using ArrayType = typename TypeTraits<DataType>::ArrayType; |
| 672 | const ArrayType& array_(checked_cast<const ArrayType&>(array)); |
| 673 | auto batch = checked_cast<liborc::TimestampVectorBatch*>(column_vector_batch); |
| 674 | if (array.null_count()) { |
| 675 | batch->hasNulls = true; |
| 676 | } |
| 677 | TimestampAppender<DataType> appender{array_, |
| 678 | batch, |
| 679 | orc_offset, |
| 680 | 0, |
| 681 | conversion_factor_from_second, |
| 682 | conversion_factor_to_nano}; |
| 683 | ArraySpanVisitor<DataType> visitor; |
| 684 | RETURN_NOT_OK(visitor.Visit(*array_.data(), &appender)); |
| 685 | return Status::OK(); |
| 686 | } |
| 687 | |
| 688 | Status WriteFixedSizeBinaryBatch(const Array& array, int64_t orc_offset, |
| 689 | liborc::ColumnVectorBatch* column_vector_batch) { |
nothing calls this directly
no test coverage detected