>
> *Question 1* – how to implement a function with arbitrary arguments
>
> I am trying to implement a function that accepts an arbitrary number of
> arguments, like the following:
>
>
> SELECT * FROM somesource ss
> WHERE foo(ss.a, ss.b, 1, 2, 3, 4)
>
> Foo function will return a boolean.
> How can I have a SimpleFunction accept more than 2 arguments (left and
> right)?
>
Currently Drill supports Functions with only fixed number of arguments.
You can have more than 2 arguments in a function, just that the number is
fixed when it is defined. We have talked about extending the Drill function
framework to support var-args but no progress have been made.
Could you please let us know what functions do you have in mind which could
use such capability?
> *Question 2* - if there's a way to limit the search scope with an heuristic
> (e.g. scan range in a HBase table), how can I hint the runtime or 'affect'
> the physical plan through custom code? Is this possible?
>
Drill can automatically convert certain WHERE clauses into sub-range scan
(if the where clause is on 'row_key' column) and/or attach HBase filters to
the scan. Please see [1] and [2].
[1] https://issues.apache.org/jira/browse/DRILL-571
[2] https://issues.apache.org/jira/browse/DRILL-783
|