Github user ravipesala commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2254#discussion_r185431123
--- Diff:
core/src/main/java/org/apache/carbondata/core/datamap/dev/DataMapWriter.java ---
@@ -66,22 +85,22 @@ public DataMapWriter(AbsoluteTableIdentifier
identifier, Segment segment,
*
* @param blockletId sequence number of blocklet in the block
*/
- public abstract void onBlockletStart(int blockletId);
+ public abstract void onBlockletStart(int blockletId) throws IOException;
/**
* End of blocklet notification
*
* @param blockletId sequence number of blocklet in the block
*/
- public abstract void onBlockletEnd(int blockletId);
+ public abstract void onBlockletEnd(int blockletId) throws IOException;
/**
- * Add the column pages row to the datamap, order of pages is same as
`indexColumns` in
+ * Add row data to the datamap, order of field is same as `indexColumns`
in
* DataMapMeta returned in DataMapFactory.
- * Implementation should copy the content of `pages` as needed, because
`pages` memory
- * may be freed after this method returns, if using unsafe column page.
+ * Implementation should copy the content of `row` as needed, because
its memory
+ * may be freed after this method returns, in case of unsafe memory
*/
- public abstract void onPageAdded(int blockletId, int pageId,
ColumnPage[] pages)
+ public abstract void addRow(int blockletId, int pageId, int rowId,
CarbonRow row)
--- End diff --
I feel old interface is good as we don't require to convert to row, it
might impact the performance.
---