Re: Polymorphic arguments and composite types

Поиск
Список
Период
Сортировка
От Simon Riggs
Тема Re: Polymorphic arguments and composite types
Дата
Msg-id 1191613398.4223.457.camel@ebony.site
обсуждение исходный текст
Ответ на Re: Polymorphic arguments and composite types  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
Ответы Re: Polymorphic arguments and composite types  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
Список pgsql-hackers
On Fri, 2007-10-05 at 11:24 -0700, Stephan Szabo wrote:
> On Fri, 5 Oct 2007, Simon Riggs wrote:
> 
> > On Fri, 2007-10-05 at 10:59 -0700, Stephan Szabo wrote:
> > > On Fri, 5 Oct 2007, Simon Riggs wrote:
> > >
> > > > On Fri, 2007-10-05 at 10:32 -0700, Stephan Szabo wrote:
> > > > > On Fri, 5 Oct 2007, Simon Riggs wrote:
> > > > >
> > > > > > Because we already do exactly that here:
> > > > > >
> > > > > >     select 1, (select col2 from c), 3;
> > > > > >
> > > > > > The inner select returns a ROW, yet we treat it as a single column
> > > > > > value.
> > > > >
> > > > > The inner select does not return a row. It's not a <row subquery>, it's a
> > > > > <scalar subquery>.
> > > >
> > > > Thanks Stephan, Tom already explained that.
> > > >
> > > > My comments above were in response to "Why would you think that?"
> > >
> > > Right, but I guess I couldn't see why you would consider that the same as
> > > treating a rowtype as a scalar, because when I look at that my brain
> > > converts that to a scalar subquery, so I guess I simply see the scalar.
> > > If we supported select 1, (select 2,3), select 4 giving something like
> > > (1,(2,3),4), I'd also have confusion over the case, but that should error.
> >
> > Well, my brain didn't... All I've said was that we should document it,
> > to help those people that don't know they're SQL standard as good as the
> > best people on this list.
> 
> Where would you document this beyond 4.2 though? While I don't exactly
> like the wording of 4.2.9, it seems like it's already trying to say that.

Yeh, it does, but you're forgetting that my original complaint was that
you couldn't use it in an ANY clause, which 4.2 does not exclude.
Bearing in mind you can use a scalar subquery in lots of places, I
thought it worth reporting.

The ANY clause at 9.19.4 mentions a subquery, but doesn't say it can't
be a scalar subquery; it doesn't restrict this to non-scalar subqueries.

Searching in Arrays, 8.14.5 doesn't say it can't be a subquery either.

I was aware of the potential for a scalar subquery, hence my surprise
you couldn't use it there. Maybe others less familiar would not have
tried the query formulation I did.

Section 9.20.3 mentions ANY (array expression). The term "array
expression" is not defined nor is there a link to where it is defined,
nor is the term indexed.

--  Simon Riggs 2ndQuadrant  http://www.2ndQuadrant.com



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Stephan Szabo
Дата:
Сообщение: Re: Polymorphic arguments and composite types
Следующее
От: Zdenek Kotala
Дата:
Сообщение: Re: Enforcing database encoding and locale match