[
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)