[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: plague-client list failing

On 6/29/06, Dennis Gregorovic <dgregor 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"

A subquery IN clause doesn't have the limit.

- Ian

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]