[ 
https://issues.apache.org/jira/browse/ORC-58?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15379664#comment-15379664
 ] 

ASF GitHub Bot commented on ORC-58:
-----------------------------------

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

    https://github.com/apache/orc/pull/41#discussion_r71004296
  
    --- Diff: c++/src/Reader.cc ---
    @@ -1108,13 +1107,75 @@ namespace orc {
         // internal methods
         proto::StripeFooter getStripeFooter(const proto::StripeInformation& 
info);
         void startNextStripe();
    -    void checkOrcVersion();
         void selectType(const Type& type);
    -    void readMetadata() const;
         void updateSelected(const std::list<uint64_t>& fieldIds);
         void updateSelected(const std::list<std::string>& fieldNames);
     
       public:
    +   /**
    +    * Constructor that lets the user specify additional options.
    +    * @param filereader the object to read from
    +    * @param options options for reading
    +    */
    +    RowReaderImpl(const ReaderImpl* filereader,
    +           std::shared_ptr<ReaderOptions> options);
    +
    +    uint64_t getMemoryUse(int stripeIx = -1) override;
    +
    +    const std::vector<bool> getSelectedColumns() const override;
    +
    +    const Type& getSelectedType() const override;
    +
    +    std::unique_ptr<ColumnVectorBatch> createRowBatch(uint64_t size
    +                                                      ) const override;
    +
    +    bool next(ColumnVectorBatch& data) override;
    +
    +    const ReaderOptions& getReaderOptions() const;
    +
    +    CompressionKind getCompression() const;
    +
    +    uint64_t getCompressionSize() const;
    +
    +    uint64_t getRowNumber() const override;
    +
    +    void seekToRow(uint64_t rowNumber) override;
    +
    +    MemoryPool* getMemoryPool() const ;
    +
    +  };
    +
    +  class ReaderImpl : public Reader {
    +    friend class RowReaderImpl;
    --- End diff --
    
    Avoid using friend.


> Move code for reading rows from Reader to RowReader
> ---------------------------------------------------
>
>                 Key: ORC-58
>                 URL: https://issues.apache.org/jira/browse/ORC-58
>             Project: Orc
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Deepak Majeti
>
> Existing ReaderImpl constructor can throw an exception. This prohibits the 
> creation of the reader instance and subsequent access to the schema 
> information.
> For instance,  an exception can be thrown if the selected column ids do not 
> agree with the number of schema columns. The downstream application might 
> still want the schema information for logging purposes.
> The scope of this Jira is to move the code to read rows into a new RowReader 
> class. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to