Re: [TF-LIB] IN operator

> >>> If both scalar subqueries and IN are supported then
> >>> ?expn IN (SELECT...)
> >>> should also be supported, of course.
> >>
> >> That's a bit of a leap, and I don't think I agree.
> >
> > Fine. The simpler the better. From my perspective, it's not a  
> > problem if
> > a feature is not in spec even if we've implemented it already. A  
> > problem
> > might appear only if a feature is made by two vendors in two different
> > ways.
> 
> The only major contentious issues I could see would be the number of  
> columns projected (SQL only allows one right?) and whether there's {}s  
> or not.

To {} or not to {}. I don't care, I can agree with {} (but I don't like
it). The parser will tolerate any variant, or even union of them: IN
(SELECT), IN ({SELECT}), IN ((SELECT))...

Re. number of columns --- I'd personally agree with any, if others
decide so, even if I don't see a big practical need. Our SQL is extended
with a BREAKUP that turns short and wide result set into long and
narrow. BREAKUP syntax is
SELECT BREAKUP (result-set-1) (result-set-2)...(result-set-N)
FROM <typical_rest_of_select_here>
it is calculated as usual SELECT but returns N rows instead of one per
every result of FROM join or uinon or whatever. Multiple columns there
will cost us a little.

Moreover, our procedure views let us to make something I would name
"disaggregate functions", e.g. conversion result-set of vectors into
result-set of all elements of these vectors.

Ivan.

Received on Monday, 8 February 2010 17:41:23 UTC