Github user omalley commented on a diff in the pull request:

    https://github.com/apache/orc/pull/41#discussion_r71443174
  
    --- Diff: c++/src/Reader.cc ---
    @@ -1062,37 +1062,36 @@ namespace orc {
         // PASS
       }
     
    +  RowReader::~RowReader() {
    +    // PASS
    +  }
    +
       static const uint64_t DIRECTORY_SIZE_GUESS = 16 * 1024;
     
    -  class ReaderImpl : public Reader {
    +  class ReaderImpl;
    +
    +  class RowReaderImpl : public RowReader {
       private:
         const Timezone& localTimezone;
     
         // inputs
    -    std::unique_ptr<InputStream> stream;
    -    ReaderOptions options;
    -    const uint64_t fileLength;
    -    const uint64_t postscriptLength;
         std::vector<bool> selectedColumns;
    -
    +    std::shared_ptr<InputStream> stream;
    --- End diff --
    
    I'd suggest creating a single class that has all of the state for the 
ReaderImpl. Then it can have the postscript, InputStream, etc. and be shared 
between the ReaderImpl and the set of RowReaderImpls that share the same 
ReaderImpl.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to