[
https://issues.apache.org/jira/browse/ORC-184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16008720#comment-16008720
]
ASF GitHub Bot commented on ORC-184:
------------------------------------
Github user majetideepak commented on the issue:
https://github.com/apache/orc/pull/120
To answer your concerns,
1) The functions like increase, merge, reset, etc. can be added to
InternalStatisticsImpl also. I don't see the need for a base class. The
implementation for non-primitive types must be specialized anyway.
2) I don't see how the Types can be different between the ColumnWriter and
the ColumnStatistics. Can you give an example? If your [Type]ColumnWriter
design is similar to the existing [Type]ColumnReader design, then we can easily
stick in an InternalStatisticsImpl<Type> instance.
I opened ORC-185 as a pattern we could use to overcome the lack of a base
class with [Type]ColumnStatisticsImpl. Ultimately, we should definitely do what
is easier to get the Writer code in with minimal code changes possible.
However, without the ColumnWriter design, it is hard to enumerate and discuss
other options for ColumnStatistics.
However, putting methods that should be internal, in the public API is
definitely not the right approach.
> [C++] Refactor ColumnStatistics classes for writer
> --------------------------------------------------
>
> Key: ORC-184
> URL: https://issues.apache.org/jira/browse/ORC-184
> Project: ORC
> Issue Type: Sub-task
> Components: C++
> Reporter: Gang Wu
> Assignee: Gang Wu
>
> 1. Add setter functions to ColumnStatistics.
> 2. Refactor ColumnStatistics to reduce duplicate code.
> 3. Add more functions in Int128 and Decimal classes for
> DecimalColumnStatistics.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)