-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/910/
-----------------------------------------------------------
(Updated 2011-06-20 21:04:45.477266)
Review request for hive and Paul Yang.
Changes
-------
- Removed the TableQueryFilterType enum. Instead, use constant names for filter
keys to allow mixing filter types.
Summary (updated)
-------
Create a function listTableNamesByFilter that returns a list of names for
tables in a database that match a certain filter. The syntax of the filter is
similar to the one created by HIVE-1609. You can filter the table list based on
owner, last access time, or table parameter key/values. The filtering takes
place at the JDO level for efficiency/speed. To create a new kind of table
filter, add a constant to thrift.if and a branch in the if statement in
generateJDOFilterOverTables() in ExpressionTree.
Example filter statements include:
//translation: owner.matches(".*test.*") and lastAccessTime == 0
filter = Constants.HIVE_FILTER_FIELD_OWNER +
" like \".*test.*\" and " +
Constants.HIVE_FILTER_FIELD_LAST_ACCESS + " = 0";
//translation: owner = "test_user" and (parameters.get("retention") == "30" ||
parameters.get("retention") == 90)
filter = Constants.HIVE_FILTER_FIELD_OWNER +
" = \"test_user\" and (" +
Constants.HIVE_FILTER_FIELD_PARAMS + "retention = \"30\" or " +
Constants.HIVE_FILTER_FIELD_PARAMS + "retention = \"90\")"
The filter can currently parse string or integer values, where values
interpreted as strings must be in quotes. See the comments in IMetaStoreClient
for more usage details/restrictions.
This addresses bug HIVE-2226.
https://issues.apache.org/jira/browse/HIVE-2226
Diffs (updated)
-----
trunk/metastore/if/hive_metastore.thrift 1136751
trunk/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
1136751
trunk/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
1136751
trunk/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java
1136751
trunk/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
1136751
trunk/metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java
1136751
trunk/metastore/src/java/org/apache/hadoop/hive/metastore/parser/ExpressionTree.java
1136751
trunk/metastore/src/java/org/apache/hadoop/hive/metastore/parser/Filter.g
1136751
trunk/metastore/src/test/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
1136751
Diff: https://reviews.apache.org/r/910/diff
Testing
-------
Added test cases to TestHiveMetaStore
Thanks,
Sohan