On Tue, Oct 5, 2010 at 12:11 AM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Robert Haas <robertmh...@gmail.com> writes: >> Yeah, but isn't the current behavior awfully flaky? > > The reason the particular case acts so oddly is there's no such thing as > half a point: you can't have a point with one null and one non-null > component. So there's no way to construct the value incrementally, > which is what that syntax implies doing. What actually happens is that > "foo[0] := something" results in a NULL point if the initial value of > foo was NULL, and then the same again for "foo[1] := something". > I suppose we could have these cases throw an error instead, but that's > not a lot better from the standpoint of functionality ... and I > certainly don't wish to try to introduce partially-null point values.
Well, I think the user might expect foo[0] and foo[1] to get assigned to simultaneously rather than iteratively. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise Postgres Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers