Skip to content

Commit ce6b7af

Browse files
authored
Merge pull request #9 from taiyang-li/raw_orc_reader
Add interface to get raw orc reader from adapters
2 parents 1d9cc51 + 1a9c168 commit ce6b7af

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

cpp/src/arrow/adapters/orc/adapter.cc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,11 @@ class ORCFileReader::Impl {
199199
return Init();
200200
}
201201

202+
virtual liborc::Reader* GetRawORCReader() {
203+
return reader_.get();
204+
}
205+
206+
202207
Status Init() {
203208
int64_t nstripes = reader_->getNumberOfStripes();
204209
stripes_.resize(nstripes);
@@ -439,6 +444,10 @@ class ORCFileReader::Impl {
439444
return Status::OK();
440445
}
441446

447+
liborc::Reader* ORCFileReader::GetRawORCReader() {
448+
return impl_->GetRawORCReader();
449+
}
450+
442451
Status NextStripeReader(int64_t batch_size, std::shared_ptr<RecordBatchReader>* out) {
443452
return NextStripeReader(batch_size, {}, out);
444453
}

cpp/src/arrow/adapters/orc/adapter.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ class ARROW_EXPORT ORCFileReader {
4949
ARROW_DEPRECATED("Deprecated in 6.0.0. Use Result-returning overload instead.")
5050
static Status Open(const std::shared_ptr<io::RandomAccessFile>& file, MemoryPool* pool,
5151
std::unique_ptr<ORCFileReader>* reader);
52+
53+
/// \brief Get ORC reader from inside.
54+
liborc::Reader* GetRawORCReader();
5255

5356
/// \brief Creates a new ORC reader
5457
///

0 commit comments

Comments
 (0)