MCPcopy Create free account
hub / github.com/apache/arrow / WriteTimestampBatch

Function WriteTimestampBatch

cpp/src/arrow/adapters/orc/util.cc:667–686  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

665
666template <class DataType>
667Status 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
688Status WriteFixedSizeBinaryBatch(const Array& array, int64_t orc_offset,
689 liborc::ColumnVectorBatch* column_vector_batch) {

Callers

nothing calls this directly

Calls 4

OKFunction · 0.50
null_countMethod · 0.45
VisitMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected