[
https://issues.apache.org/jira/browse/ORC-58?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15384490#comment-15384490
]
ASF GitHub Bot commented on ORC-58:
-----------------------------------
Github user omalley commented on a diff in the pull request:
https://github.com/apache/orc/pull/41#discussion_r71377966
--- Diff: c++/include/orc/Reader.hh ---
@@ -645,7 +645,72 @@ namespace orc {
};
/**
- * The interface for reading ORC files.
+ * The interface for reading rows in ORC files.
+ * This is an an abstract class that will subclassed as necessary.
+ */
+ class RowReader {
+ public:
+ virtual ~RowReader();
+ /**
+ * Get the selected type of the rows in the file. The file's row type
+ * is projected down to just the selected columns. Thus, if the file's
+ * type is struct<col0:int,col1:double,col2:string> and the selected
+ * columns are "col0,col2" the selected type would be
+ * struct<col0:int,col2:string>.
+ * @return the root type
+ */
+ virtual const Type& getSelectedType() const = 0;
+
+ /**
+ * Get the selected columns of the file.
+ */
+ virtual const std::vector<bool> getSelectedColumns() const = 0;
+
--- End diff --
You have some trailing spaces. You can probably configure your IDE to
automatically trim them.
> 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)