[
https://issues.apache.org/jira/browse/HIVE-2702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Shelukhin updated HIVE-2702:
-----------------------------------
Attachment: HIVE-2702-v0.patch
Preliminary patch. No tests so far, in case something is wrong in the approach,
this is my first hive patch.
Existing tests pass.
Patch summary: for filter pushdown,
* add support for equals for integral partition types;
* add support for not-equals for both;
* allow the client to push down other compare ops for string partitions -
server already supports that;
* change Filter.g integral type handling to use Long instead of Integer, to
support bigger numbers;
* refactor generateJDOFilterOverPartitions a bit.
Adding other compare operators for integral types is next. I added a TODO in
the patch where it should be done. The approach will need to be considered more
carefully and may involve some refactoring.
> listPartitionsByFilter only supports string partitions
> ------------------------------------------------------
>
> Key: HIVE-2702
> URL: https://issues.apache.org/jira/browse/HIVE-2702
> Project: Hive
> Issue Type: Bug
> Affects Versions: 0.8.1
> Reporter: Aniket Mokashi
> Assignee: Aniket Mokashi
> Attachments: ASF.LICENSE.NOT.GRANTED--HIVE-2702.D2043.1.patch,
> HIVE-2702.1.patch, HIVE-2702-v0.patch
>
>
> listPartitionsByFilter supports only non-string partitions. This is because
> its explicitly specified in generateJDOFilterOverPartitions in
> ExpressionTree.java.
> //Can only support partitions whose types are string
> if( ! table.getPartitionKeys().get(partitionColumnIndex).
>
> getType().equals(org.apache.hadoop.hive.serde.Constants.STRING_TYPE_NAME) ) {
> throw new MetaException
> ("Filtering is supported only on partition keys of type string");
> }
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira