[
https://issues.apache.org/jira/browse/HIVE-24370?focusedWorklogId=510961&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-510961
]
ASF GitHub Bot logged work on HIVE-24370:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 12/Nov/20 18:24
Start Date: 12/Nov/20 18:24
Worklog Time Spent: 10m
Work Description: vihangk1 commented on a change in pull request #1664:
URL: https://github.com/apache/hive/pull/1664#discussion_r522319043
##########
File path:
standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
##########
@@ -4664,6 +4664,58 @@ public void dropStoredProcedure(StoredProcedureRequest
request) throws MetaExcep
return client.get_all_stored_procedures(request);
}
+ /**
+ * Builder for the GetProjectionsSpec. This is a projection specification
for partitions returned from the HMS.
+ */
+ public static class GetPartitionProjectionsSpecBuilder {
+
+ java.util.List<java.lang.String> partitionList = null;
Review comment:
Can we mark these fields as private? Any particular reason they are
package private?
##########
File path:
standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
##########
@@ -4664,6 +4664,58 @@ public void dropStoredProcedure(StoredProcedureRequest
request) throws MetaExcep
return client.get_all_stored_procedures(request);
}
+ /**
+ * Builder for the GetProjectionsSpec. This is a projection specification
for partitions returned from the HMS.
+ */
+ public static class GetPartitionProjectionsSpecBuilder {
+
+ java.util.List<java.lang.String> partitionList = null;
+ java.lang.String includePartitionPattern = null;
+ java.lang.String excludePartitionPattern = null;
+
+ public void setPartitionList(List<String> partitionList) {
+ this.partitionList = partitionList;
+ }
+
+ public void setIncludePartitionPattern(String includePartitionPattern) {
+ this.includePartitionPattern = includePartitionPattern;
+ }
+
+ public void setExcludePartitionPattern(String excludePartitionPattern) {
+ this.excludePartitionPattern = excludePartitionPattern;
+ }
+
+ public GetProjectionsSpec build() {
+ return new GetProjectionsSpec(partitionList, includePartitionPattern,
excludePartitionPattern);
+ }
+ }
+
+ /**
+ * Builder for the GetProjectionsSpec. This is a projection specification
for tables returned from the HMS.
+ */
+ public static class GetTableProjectionsSpecBuilder {
+
+ java.util.List<java.lang.String> columnList = null;
Review comment:
nit, no need to use fully qualified List here. also for String. Same for
the earlier builder class as well. Please make these fields private.
##########
File path:
standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
##########
@@ -4664,6 +4664,58 @@ public void dropStoredProcedure(StoredProcedureRequest
request) throws MetaExcep
return client.get_all_stored_procedures(request);
}
+ /**
+ * Builder for the GetProjectionsSpec. This is a projection specification
for partitions returned from the HMS.
+ */
+ public static class GetPartitionProjectionsSpecBuilder {
Review comment:
From a user perspective, I think it would be more user friendly to have
builder class for the whole request objects (eg. GetPartitionsRequestBuilder
which gives ability to create a projection and filter spec)
##########
File path:
standalone-metastore/metastore-common/src/main/thrift/hive_metastore.thrift
##########
@@ -1979,7 +1979,7 @@ struct GetPartitionsRequest {
4: optional bool withAuth,
5: optional string user,
6: optional list<string> groupNames,
- 7: GetPartitionsProjectionSpec projectionSpec
+ 7: GetProjectionsSpec projectionSpec
8: GetPartitionsFilterSpec filterSpec, // TODO not yet implemented. Must be
present but ignored
Review comment:
Not related to your change, but looks like that TODO should be removed
since we have the filterspec implemented.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 510961)
Time Spent: 1h (was: 50m)
> Make the GetPartitionsProjectionSpec generic and add builder methods for
> tables and partitions in HiveMetaStoreClient
> ---------------------------------------------------------------------------------------------------------------------
>
> Key: HIVE-24370
> URL: https://issues.apache.org/jira/browse/HIVE-24370
> Project: Hive
> Issue Type: Task
> Reporter: Narayanan Venkateswaran
> Assignee: Narayanan Venkateswaran
> Priority: Minor
> Labels: pull-request-available
> Time Spent: 1h
> Remaining Estimate: 0h
>
> HIVE-20306 defines a projection struct called GetPartitionsProjectionSpec
> While the name has Partition in its name, this is a fairly generic struct
> with nothing specific to partitions. This should be renamed to a more generic
> name (GetProjectionSpec ?) and builder methods of this class for tables and
> partitions must be added to HiveMetaStoreClient.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)