Re: VARIANT / ANYTYPE datatype - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: VARIANT / ANYTYPE datatype
Date
Msg-id 4DCA8B3B.3090709@dunslane.net
Whole thread Raw
In response to Re: VARIANT / ANYTYPE datatype  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers

On 05/11/2011 07:53 AM, Robert Haas wrote:
> On Tue, May 10, 2011 at 10:29 PM, Joseph Adams
> <joeyadams3.14159@gmail.com>  wrote:
>> It seems to me a reasonable way to implement VARIANT would be to have
>> a data type called VARIANT that stores an OID of the inner type at the
>> beginning, followed by the binary data.
> That's likely to be how it gets implemented, but you seem to have
> missed the point of some of the discussion upthread: the big problem
> with that is that someone might type "DROP TYPE foo", and when they
> do, you need an efficient way to figure out whether foo is in use
> inside an instance of the variant type anywhere in the system.  The
> devil is in the details...
>

Actually, I thought that was the variant (pun intended) Tom objected to, 
and wanted declared variant types instead, precisely so we could know 
where we'd need to look if a type was dropped. Using that you might 
still use the type oid at the beginning of the field, but there are 
other possibilities too (e.g. a single byte indicating which known 
variant is in use).

cheers

andrew


pgsql-hackers by date:

Previous
From: Pavan Deolasee
Date:
Subject: Re: crash-safe visibility map, take five
Next
From: Bruce Momjian
Date:
Subject: Re: the big picture for index-only scans