On 6/29/06, Dennis Gregorovic <dgregor@xxxxxxxxxx> 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 -- fedora-extras-list mailing list fedora-extras-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-extras-list