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

Panagiotis Garefalakis commented on HIVE-22959:
-----------------------------------------------

After a round of comments: latest patch exposes FilterContext as an immutable 
abstract class and instead there is a MutableFilterContext subclass that 
provides the needed setters with an extra copy method that does a deep copy of 
the class variables.
MutableFilterContext does some extra checking to make sure that selected array 
contains correct values and size while it also exposes a borrowSelected array 
method for the consumers to reuse the allocated selected array.

This approach makes is harder for API users to modify the context values when 
they shouldn't or set wrong filter values in the selected array.
 
Any comments here? [~rbalamohan] [~gopalv]

> Extend storage-api to expose FilterContext
> ------------------------------------------
>
>                 Key: HIVE-22959
>                 URL: https://issues.apache.org/jira/browse/HIVE-22959
>             Project: Hive
>          Issue Type: Sub-task
>          Components: storage-api
>            Reporter: Panagiotis Garefalakis
>            Assignee: Panagiotis Garefalakis
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> To enable row-level filtering at the ORC level ORC-577, or as an extension 
> ProDecode MapJoin HIVE-22731 we need a common context class that will hold 
> all the needed information for the filter.
> I propose this class to be part of the storage-api – similar to 
> VectorizedRowBatch class and hold the information below:
>  * A boolean variable showing if the filter is enabled
>  * A int array storing the row Ids that are actually selected (passing the 
> filter)
>  * An int variable storing the the number or rows that passed the filter
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to