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. ---