This is an automated email from the ASF dual-hosted git repository.

kxiao pushed a commit to branch branch-2.0-beta
in repository https://gitbox.apache.org/repos/asf/doris.git

commit ea0517a97fd44c0ee5e90c767fa866a64a4f1d8a
Author: Qi Chen <[email protected]>
AuthorDate: Fri Jun 9 08:53:27 2023 +0800

    [Fix](orc-reader) Fix the inner reader of `MergeRangeFileReader` is not 
correct when creating `MergeRangeFileReader` in orc reader. (#20393)
    
    Fix the inner reader of MergeRangeFileReader is not correct when creating 
MergeRangeFileReader in orc reader.
---
 be/src/vec/exec/format/orc/vorc_reader.cpp | 2 +-
 be/src/vec/exec/format/orc/vorc_reader.h   | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/be/src/vec/exec/format/orc/vorc_reader.cpp 
b/be/src/vec/exec/format/orc/vorc_reader.cpp
index 058af519b1..3cb31bb262 100644
--- a/be/src/vec/exec/format/orc/vorc_reader.cpp
+++ b/be/src/vec/exec/format/orc/vorc_reader.cpp
@@ -1342,7 +1342,7 @@ void ORCFileInputStream::beforeReadStripe(
         offset += length;
     }
     // The underlying page reader will prefetch data in column.
-    _file_reader.reset(new io::MergeRangeFileReader(_profile, _file_reader, 
prefetch_ranges));
+    _file_reader.reset(new io::MergeRangeFileReader(_profile, _inner_reader, 
prefetch_ranges));
 }
 
 } // namespace doris::vectorized
diff --git a/be/src/vec/exec/format/orc/vorc_reader.h 
b/be/src/vec/exec/format/orc/vorc_reader.h
index 7b5f808ce8..e4539b2180 100644
--- a/be/src/vec/exec/format/orc/vorc_reader.h
+++ b/be/src/vec/exec/format/orc/vorc_reader.h
@@ -466,11 +466,12 @@ private:
 
 class ORCFileInputStream : public orc::InputStream {
 public:
-    ORCFileInputStream(const std::string& file_name, io::FileReaderSPtr 
file_reader,
+    ORCFileInputStream(const std::string& file_name, io::FileReaderSPtr 
inner_reader,
                        OrcReader::Statistics* statistics, const io::IOContext* 
io_ctx,
                        RuntimeProfile* profile)
             : _file_name(file_name),
-              _file_reader(file_reader),
+              _inner_reader(inner_reader),
+              _file_reader(inner_reader),
               _statistics(statistics),
               _io_ctx(io_ctx),
               _profile(profile) {}
@@ -490,6 +491,7 @@ public:
 
 private:
     const std::string& _file_name;
+    io::FileReaderSPtr _inner_reader;
     io::FileReaderSPtr _file_reader;
     // Owned by OrcReader
     OrcReader::Statistics* _statistics;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to