Re: SEGV in contrib/array/array_iterator.c - Mailing list pgsql-bugs

From Stephan Szabo
Subject Re: SEGV in contrib/array/array_iterator.c
Date
Msg-id 20020402115926.F79618-100000@megazone23.bigpanda.com
Whole thread Raw
In response to Re: SEGV in contrib/array/array_iterator.c  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: SEGV in contrib/array/array_iterator.c  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
On Tue, 2 Apr 2002, Tom Lane wrote:

> Matt Peterson <matt@caldera.com> writes:
>
> > +     if(value == 0)
> > +     {
> > +         /* elog(NOTICE, "array_iterator: value is null"); */
> > +               return (0);
> > +     }
>
> This patch is certainly wrong, as it will break array_iterator for
> non-pointer datatypes (no, I do not believe your assertion to the
> contrary).
>
> More to the point, inserting explicit tests for null is an obsolete
> approach; the preferred way to do things these days is to mark the SQL
> declarations of such functions with "isStrict".  Would you instead
> update contrib/array to rely on isStrict?

Are the array iterator functions supposed to act sort of like
=ANY/=ALL except across an array instead of a subselect?  If so,
isStrict probably isn't right, since for an empty subselect the return
value does not depend on the element being searched for.  If not,
that would probably be the easiest fix.

pgsql-bugs by date:

Previous
From: Jie Liang
Date:
Subject: pg_dump bug
Next
From: Tom Lane
Date:
Subject: Re: SEGV in contrib/array/array_iterator.c