[
https://issues.apache.org/jira/browse/ORC-620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17087831#comment-17087831
]
Owen O'Malley commented on ORC-620:
-----------------------------------
[~pgaref] wrote HIVE-22959 and I did HIVE-23215 precisely so that LLAP
wouldn't need to have a VectorizedRowBatch. Putting it back in here is very
inconsistent.
I disagree that using VectorizedRowBatch makes it easier to have precompiled
functions. For example, if you wanted a function that checks ColumnA ===
ColumnB, in my API you can check the two columns that are passed in. With a
VectorizedRowBatch you need to know which columns to check, thus you need a new
function for each pair of columns.
> 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)