> > Care to give us a table:
> > select * from pg_shadow where (usesysid is null and oid is null);
>
> Sure, that's easy. Just negate your where clause:
>
> tgl=> select * from pg_shadow
> tgl-> where not (usesysid is null and oid is null);
> pqReadData() -- backend closed the channel unexpectedly.
>
> If you can reproduce this, will you have a chance to look at it? I don't
> know where the problem is, but suspect that it is farther back than the
> parser transformations. Rewrite system, optimizer, or executor??
>
OK, here is the fix. I am not applying it yet until 6.4 is released by
Marc, OK? In fact, I am not sure how we are going to do patch
application after 6.4, so would someone else please apply this?
---------------------------------------------------------------------------
*** ./backend/optimizer/path/clausesel.c.orig Wed Nov 4 16:49:35 1998
--- ./backend/optimizer/path/clausesel.c Wed Nov 4 17:11:02 1998
***************
*** 254,259 ****
--- 254,264 ---- */ s1 = 0.1; }
+ else if (not_clause((Node *) clause))
+ {
+ /* negate this baby */
+ return 1 - compute_selec(root, ((Expr *)clause)->args, or_selectivities);
+ } else if (is_subplan((Node *) clause)) {
-- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026