| 132 | |
| 133 | template <class BuilderType, class BatchType, class ElemType> |
| 134 | Status AppendNumericBatch(liborc::ColumnVectorBatch* column_vector_batch, int64_t offset, |
| 135 | int64_t length, ArrayBuilder* abuilder) { |
| 136 | auto builder = checked_cast<BuilderType*>(abuilder); |
| 137 | auto batch = checked_cast<BatchType*>(column_vector_batch); |
| 138 | |
| 139 | if (length == 0) { |
| 140 | return Status::OK(); |
| 141 | } |
| 142 | const uint8_t* valid_bytes = nullptr; |
| 143 | if (batch->hasNulls) { |
| 144 | valid_bytes = reinterpret_cast<const uint8_t*>(batch->notNull.data()) + offset; |
| 145 | } |
| 146 | const ElemType* source = batch->data.data() + offset; |
| 147 | RETURN_NOT_OK(builder->AppendValues(source, length, valid_bytes)); |
| 148 | return Status::OK(); |
| 149 | } |
| 150 | |
| 151 | template <class BuilderType, class TargetType, class BatchType, class SourceType> |
| 152 | Status AppendNumericBatchCast(liborc::ColumnVectorBatch* column_vector_batch, |
nothing calls this directly
no test coverage detected