The existing dropPartitions APIs focus on `List<Pair<Integer, byte[]>> partExprs` parameter, and their differences are just the drop options like `deleteData`, `ifExists` etc.
For now we propose a new api: ``` List<Partition> dropPartitions(TableName tableName, RequestPartsSpec partsSpec, PartitionDropOptions options, EnvironmentContext context) ``` It can be extended via the partsSpec and options parameters, I believe we will not need more dropPartitions api for drop_partitions_req api in the future. On Thu, Jul 17, 2025 at 3:05 AM Stamatis Zampetakis <zabe...@gmail.com> wrote: > The IMetaStoreClient API already has 12 dropPartition variants and it > seems a bit surprising that we don't have a method to satisfy use-case > no. 2 efficiently. Have we examined all existing methods? > > If we plan to add a new method in this interface then we should do it > carefully in a way that we won't be forced to modify again in the near > future. It is good to have shortcuts for common use-cases but an > interface with 12+ overloaded methods and more than 4+ parameters each > is far from user-friendly. In that sense providing a method with a > DropPartitionsRequest object makes more sense but still we have to > double-check that there is no other alternative. > > Best, > Stamatis > > On Wed, Jul 16, 2025 at 7:08 PM Wechar Yu <yuwq1...@gmail.com> wrote: > > > > > however, can we wrap everything into the `DropPartitionsRequest` > instead of introducing 2 API methods > > > > Hi Denys, do you mean add an API that accept the `DropPartitionsRequest` > as a parameter like: > > > > List<Partition> dropPartitions(DropPartitionsRequest req) > > > > It would be the same as rest api > `drop_partitions_req(DropPartitionsRequest req)`, I believe the hive client > could offer a more user-friendly interface by abstracting away the need for > users to manually construct the entire DropPartitionsRequest object. > > Additionally, using `TableName` is a clean and intuitive approach. > > > > On Wed, Jul 16, 2025 at 12:47 AM Denys Kuzmenko <dkuzme...@apache.org> > wrote: > >> > >> or at least replace with TableName: > >> > >> List<Partition> dropPartitions(TableName table, > >> RequestPartsSpec partsSpec, PartitionDropOptions options) >