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

Gopal Vijayaraghavan commented on ORC-620:
------------------------------------------

bq. For example, if you wanted a function that checks ColumnA === ColumnB, in 
my API you can check the two columns that are passed in. 

This needs a new vectorized operator to built to pass into a vector expression, 
so I think I'll still need to repack the CV[] into a vrb of some form which is 
recognizable by the operator tree.

But my idea of reusing the same one which ORC is writing to for that purpose 
might be a fool's errand.

The partition columns as well as ACID require some remapping of the offsets 
which would've eventually required populating a different VRB out of the passed 
in one, which makes it somewhat of a moot point. If there a different vrb to be 
populated with column vectors, the ColumnVector[] is as good.

> Modify the row filter API to use BiFunction
> -------------------------------------------
>
>                 Key: ORC-620
>                 URL: https://issues.apache.org/jira/browse/ORC-620
>             Project: ORC
>          Issue Type: Bug
>            Reporter: Owen O'Malley
>            Assignee: Owen O'Malley
>            Priority: Major
>
> The current API for row filtering has a couple of issues:
>  * The filter function is passed a VectorizedRowBatch instead of a 
> MutableFilterContext.
>  * The filter needs to know the precise location for the fields it needs out 
> of the schema.
> I'd like to propose changing it from:
> {code:java}Consumer<VectorizedRowBatch>{code}
> to
> {code:java}BiFunction<ColumnVector[], MutableFilterContext, Boolean>{code}
> That has the advantage that the data that the function should read is 
> explicitly passed to it and we remove the dependence on VectorizedRowBatch.



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

Reply via email to