On Tue, 2010-10-19 at 15:24 -0400, James Antill wrote:
> ---
>  yum/history.py |   19 ++++++++++++++++---
>  1 files changed, 16 insertions(+), 3 deletions(-)
> 
> diff --git a/yum/history.py b/yum/history.py
> index a8004af..26d6ee2 100644
> --- a/yum/history.py
> +++ b/yum/history.py
> @@ -1176,12 +1176,25 @@ class YumHistory:
>              return set()
>  
>          data = _setupHistorySearchSQL(patterns, ignore_case)
> -        (need_full, patterns, fields, names) = data
> +        (need_full, npatterns, fields, names) = data
>  
>          ret = []
>          pkgtupids = set()
> -        for row in self._yieldSQLDataList(patterns, fields, ignore_case):
> -            pkgtupids.add(row[0])
> +
> +        if npatterns:
> +            for row in self._yieldSQLDataList(npatterns, fields, 
> ignore_case):
> +                pkgtupids.add(row[0])
> +        else:
> +            # Too many patterns, *sigh*
> +            pat_max = PATTERNS_MAX
> +            if not need_full:
> +                pat_max = PATTERNS_INDEXED_MAX
> +            for npatterns in yum.misc.seq_max_split(patterns, pat_max):
> +                data = _setupHistorySearchSQL(npatterns, ignore_case)
> +                (need_full, nps, fields, names) = data
> +                assert nps
> +                for row in self._yieldSQLDataList(nps, fields, ignore_case):
> +                    pkgtupids.add(row[0])
>  
>          sql =  """SELECT tid FROM trans_data_pkgs WHERE pkgtupid IN """
>          sql += "(%s)" % ",".join(['?'] * len(pkgtupids))


ACK enjoy

-sv


_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel

Reply via email to