plague-client list failing
Ian Burrell
ianburrell at gmail.com
Thu Jun 29 18:36:45 UTC 2006
On 6/29/06, Dennis Gregorovic <dgregor at redhat.com> wrote:
> On Thu, 2006-06-29 at 14:10 -0400, Dan Williams wrote:
> > On Thu, 2006-06-29 at 10:56 -0700, Ian Burrell wrote:
> > > Doing "plague-client list" fails with the following error:
> > >
> > > Error: an error ocurred communicating with the server. '<Fault 1:
> > > 'pg.DatabaseError:error \'ERROR: expression
> > > too complex\nDETAIL: Nesting depth exceeds maximum expression depth
> > > 10000.\nHINT: Increase the configuration
> > > parameter "max_expr_depth".\n\' in \'SELECT jobid, parent_uid,
> > > starttime, endtime, arch, builder_addr, status,
> > > builder_status FROM archjobs WHERE parent_uid=5 OR parent_uid=1 OR
> > > parent_uid=3 OR parent_uid=6 OR parent_uid=9
> > >
> > > The "OR parent_uid = " clauses go on for a few pages (something 226K).
> > > PostgreSQL has a limit of 10,000 clauses in an expression. Limiting
> > > the number of jobs selected would fix the problem.
> >
> > Thanks for the report, I need to fix this server-side. Should be using
> > <> here if the numbers are contiguous.
> >
> > Dan
>
> It looks like an IN clause would be simpler.
>
With PostgreSQL, the IN clause with explciit arguments has the same
expression limit. It converts the IN clause into a bunch of "OR"
clauses.
A subquery IN clause doesn't have the limit.
- Ian
More information about the fedora-extras-list
mailing list