> On 2011-06-30 22:48:12, Paul Yang wrote: > > trunk/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java, > > lines 1533-1537 > > <https://reviews.apache.org/r/910/diff/2/?file=21391#file21391line1533> > > > > I don't think it's possible to create 2 tables with the same name. In > > which case, there shouldn't be a need for this check.
Ah, the comment there is a little misleading. Some tables were getting returned multiple times if they matched multiple parts of an OR clause. For example, in the unit test with the filter string: owner = "testOwner1" && (lastAccessTime = 30 || test_param_1 = "hi"), a table which had owner="testOwner1", lastAccessTime = 30, and test_param_1 = "hi" was returned twice by the query. > On 2011-06-30 22:48:12, Paul Yang wrote: > > trunk/metastore/src/java/org/apache/hadoop/hive/metastore/parser/ExpressionTree.java, > > lines 187-188 > > <https://reviews.apache.org/r/910/diff/2/?file=21393#file21393line187> > > > > We should catch the case where the keyName is invalid Will do - Sohan ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/910/#review928 ----------------------------------------------------------- On 2011-06-20 21:04:45, Sohan Jain wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/910/ > ----------------------------------------------------------- > > (Updated 2011-06-20 21:04:45) > > > Review request for hive and Paul Yang. > > > Summary > ------- > > 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 > ----- > > 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 > >