Re: [GENERAL] Empty arrays with ARRAY[]

From: Gregory Stark <stark(at)enterprisedb(dot)com>
To: "Brendan Jurd" <direvus(at)gmail(dot)com>
Cc: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Martijn van Oosterhout" <kleptog(at)svana(dot)org>, <pgsql-hackers(at)postgresql(dot)org>, <pgsql-patches(at)postgresql(dot)org>
Subject: Re: [GENERAL] Empty arrays with ARRAY[]
Date: 2007-11-30 10:09:22
Message-ID: 877ik0cael.fsf@oxford.xeocode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers pgsql-patches


"Brendan Jurd" <direvus(at)gmail(dot)com> writes:

> The patch is very invasive (at least compared to any of my previous
> patches), but so far I haven't managed to find any broken behaviour.

I'm sorry to suggest anything at this point, but... would it be less invasive
if instead of requiring the immediate cast you created a special case in the
array code to allow a placeholder object for "empty array of unknown type".
The only operation which would be allowed on it would be to cast it to some
specific array type.

That way things like

UPDATE foo SET col = array[];
INSERT INTO foo (col) VALUES (array[]);

could be allowed if they could be contrived to introduce an assignment cast.

--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
Ask me about EnterpriseDB's RemoteDBA services!

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Madison Kelly 2007-11-30 10:22:34 Moving lock file (/tmp/.s.PGSQL.<port>)
Previous Message Martijn van Oosterhout 2007-11-30 10:07:35 Re: invalid byte sequence for encoding "UTF8"

Browse pgsql-hackers by date

  From Date Subject
Next Message Tatsuo Ishii 2007-11-30 10:15:35 Re: PostGreSQL and recursive queries...
Previous Message Usama Dar 2007-11-30 10:08:02 Re: Release Note Changes

Browse pgsql-patches by date

  From Date Subject
Next Message Alvaro Herrera 2007-11-30 12:21:17 Re: pg_regress: paths in largeobject test
Previous Message Simon Riggs 2007-11-30 09:54:19 Re: [PATCHES] Partition: use triggers instead of rules