Re: MULTISET and additional functions for ARRAY - Mailing list pgsql-hackers

From Darren Duncan
Subject Re: MULTISET and additional functions for ARRAY
Date
Msg-id 4CDC5AD8.6090105@darrenduncan.net
Whole thread Raw
In response to Re: MULTISET and additional functions for ARRAY  (Merlin Moncure <mmoncure@gmail.com>)
Responses Re: MULTISET and additional functions for ARRAY
List pgsql-hackers
Merlin Moncure wrote:
> On Thu, Nov 11, 2010 at 3:42 PM, David E. Wheeler <david@kineticode.com> wrote:
>> On Nov 11, 2010, at 12:08 PM, Alvaro Herrera wrote:
>>
>>>> That sounds like a composite type to me.
>>> No, it's "perpendicular" in the sense that while a composite type allows
>>> you to have different columns, this multiset thing lets you have "rows"
>>> (I initially thought about them as sets of scalars, but AFAIU they could
>>> in turn be rows)
>> How is that different from an array of RECORDs?

I could ask the same question about a TABLE, the ordering issue aside.

This is one place that SQL made things more complicated than they needed to be.  Multisets have generally the same
structure*and* operators (union, etc) as 
 
tables, but they use different syntax for each.  A better design would be to 
make tables and multisets interchangeable.  Its an unnecessary distinction.

> not a whole lot outside of syntax details...there is a decent summary
> here: http://waelchatila.com/2005/05/18/1116485743467.html
> 
> I like this part: "Alternatively the SQL standard also permits the
> same construct with the bracket trigraphs ??( and ??)"  :-D

As I recall, the concept of using stuff like ?( or ?) etc was so that SQL could 
be written in EBCDIC which natively lacks some of the bracketing characters that 
ASCII has.  Hence, such is an alternative way to spell either { } or [ ] (I 
forget which).

-- Darren Duncan


pgsql-hackers by date:

Previous
From: Merlin Moncure
Date:
Subject: Re: MULTISET and additional functions for ARRAY
Next
From: Andrew Dunstan
Date:
Subject: Re: improved parallel make support