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