On Tue, Dec 5, 2017 at 6:17 AM, Emilio Lahr-Vivaz <elahrvivaz@ccri.com> wrote:

I have two questions related to SearchArguments and predicate push down that I couldn't find documented anywhere.

1. What is the 'columnNames' parameter used for in the searchArgument [1] method? In my testing, it doesn't seem to make a difference if I pass in the column I'm filtering, some other column, or even an empty array.

You're right. It isn't used any more, and should be documented as such. It used to be important when the column names weren't passed down to ORC from Hive. I've created ORC-274.

2. Is it possible to create a predicate on a nested column? From tracing through the code it doesn't appear to be possible, but wanted to confirm. For example, I'd like to filter on location.x given a type description like: struct<id:string,location:struct<x:double,y:double>>

It currently isn't, but it be nice if someone wants to work on it. I've created ORC-275 for that.

.. Owen



[1]: https://orc.apache.org/api/orc-core/org/apache/orc/Reader.Options.html#searchArgument-org.apache.hadoop.hive.ql.io.sarg.SearchArgument-java.lang.String:A-