From 7ce58043a24ffdcc4387311e299b55dc8fdd9b85 Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Sep 12 2023 13:09:46 +0000 Subject: queryOpts for queryHistory Related: https://pagure.io/koji/issue/3899 --- diff --git a/kojihub/kojihub.py b/kojihub/kojihub.py index 7a6d79e..8a3c187 100644 --- a/kojihub/kojihub.py +++ b/kojihub/kojihub.py @@ -8149,6 +8149,9 @@ def query_history(tables=None, **kwargs): build_target: only relating to a build target group: only relating to a (comps) group cg: only relating to a content generator + + - query + queryOpts: for final query (countOnly/order/offset/limit) """ common_fields = { # fields:aliases common to all versioned tables @@ -8220,6 +8223,10 @@ def query_history(tables=None, **kwargs): if table not in table_fields: raise koji.GenericError("No such history table: %s" % table) ret = {} + if 'queryOpts' in kwargs: + queryOpts = kwargs.pop('queryOpts') + else: + queryOpts = None for table in tables: fields = {} for field in common_fields: @@ -8405,7 +8412,8 @@ def query_history(tables=None, **kwargs): continue fields, aliases = zip(*fields.items()) query = QueryProcessor(columns=fields, aliases=aliases, tables=[table], - joins=joins, clauses=clauses, values=data) + joins=joins, clauses=clauses, values=data, + opts=queryOpts) ret[table] = query.iterate() return ret