Translating with DrWatson… this can take a few seconds the first time.
This is a genuine, complex translation. DrWatson protects commands, error codes, and log output while naturally translating the surrounding text. It’s translated once and saved.
A discussion branch of an IDS feature-request thread about adding SQL-standard row/tuple comparison and, by extension, a MIN() over tuples. Participants note IDS does support ROW complex types but question what MIN(row_type) would mean, and that an aggregate must return a scalar, row or table, raising the issue of returning/unnesting tuples to the client. The proposer suggests defining it as the tuple that compares <= all others per SQL-92 rules, then backs off after reading SQL99, complaining the standard has become bloated. The exchange drifts into jokes about standards committees and Ada; no resolution or implementation decision is recorded.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Madison Pruet — — source: Usenet: comp.databases.informix
"Serge Rielau" <srielau@ca.ibm.com> wrote in message
news:43ef5cF1jqph5U1@individual.net...
> bozon wrote:
> > Oh, I thought you were against both. Sorry about that. Still it seems
> > like min((tuple)) is a natural consequence of the first feature,
> > because essentially min is a short-cut for "compare" all of the values
> > and give me the lowest one.
> But now you need to get into the world of passing back tuples as column
> values to the client or otherwise unnesting the tuple.
> You can't just run a fucntion (MIN) and have it spit out columns.
> It has to spit out a scalar, a row/tuple or a table.
> Not clear how far IDS's tuple support goes...
>
IDS has support for the row type complex type. Although I'm not quite sure
what a MIN(row_type) really is. ;-)
Madison Pruet
>>IDS has support for the row type complex type.
I thought about this too. I haven't used this feature enough to be an
expert at it. It is on my list of things to learn.
>>Although I'm not quite sure
what a MIN(row_type) really is.;-)
My proposal was to define it the way tuple comparison was defined.
min(rowtype(a,b,c)) would be the tuple that would be less than or equal
to all other tuples. (a,b,c) <= (ai,bi,ci) where i represents any other
tuple in the database. Where Tuples are compared the SQL 92 standard
way.
Of course after looking at the SQL99 standard I can't argue in good
conscience that if it is in the standard it should be in Informix
anymore. What the hell were they thinking? Take a reasonably simple and
elegant language and add to it until collapses under its own weight.
Was someone trying to sabatoge the SQL standard?
bozon said:
>
> Of course after looking at the SQL99 standard I can't argue in good
> conscience that if it is in the standard it should be in Informix
> anymore. What the hell were they thinking? Take a reasonably simple and
> elegant language and add to it until collapses under its own weight.
> Was someone trying to sabatoge the SQL standard?
I think you're just too dumb to use all the clever stuff that the ivory
tower brigade have dreamed up.
Like me.
--
Bye now,
Obnoxio
"C'est pas parce qu'on n'a rien ' dire qu'il faut fermer sa gueule"
- Coluche
did i mention i like nulls? heck, i even go so far as to say that all
columns in a table except the primary key could/should be nullable. this
has certain advantages, for example, if you need to insert a child record
and you don't have a parent row for it, just do an insert into the parent
table with the primary key value (everything else null), and voila,
relational integrity is preserved. but this is, admittedly, a bit
controversial among modellers.
--r937, dbforums.com
bozon wrote:
> Madison Pruet
>
>>>IDS has support for the row type complex type.
>
>
> I thought about this too. I haven't used this feature enough to be an
> expert at it. It is on my list of things to learn.
>
>
>>>Although I'm not quite sure
>
> what a MIN(row_type) really is.;-)
>
> My proposal was to define it the way tuple comparison was defined.
> min(rowtype(a,b,c)) would be the tuple that would be less than or equal
> to all other tuples. (a,b,c) <= (ai,bi,ci) where i represents any other
> tuple in the database. Where Tuples are compared the SQL 92 standard
> way.
>
> Of course after looking at the SQL99 standard I can't argue in good
> conscience that if it is in the standard it should be in Informix
> anymore. What the hell were they thinking? Take a reasonably simple and
> elegant language and add to it until collapses under its own weight.
> Was someone trying to sabatoge the SQL standard?
>
Unfortunately standard comittees are notoriously political.
I wouldn't put sabotage beyond anyone there ;-)
Cheers
Serge
--
Serge Rielau
DB2 Solutions Development
DB2 UDB for Linux, Unix, Windows
IBM Toronto Lab
Obnoxio The Clown Said
>>I think you're just too dumb to use all the clever stuff that the ivory
>>tower brigade have dreamed up.
Uh, yeah. With a name like Bozon you can't expect too much. ;-)
I am kind of thinking now that the designers of Ada were looking for
work.
bozon said:
>
> Obnoxio The Clown Said
>>>I think you're just too dumb to use all the clever stuff that the ivory
>>>tower brigade have dreamed up.
>
> Uh, yeah. With a name like Bozon you can't expect too much. ;-)
That's less of an indictment of you than it is of them. :o)
> I am kind of thinking now that the designers of Ada were looking for
> work.
And found it.
--
Bye now,
Obnoxio
"C'est pas parce qu'on n'a rien ' dire qu'il faut fermer sa gueule"
- Coluche
did i mention i like nulls? heck, i even go so far as to say that all
columns in a table except the primary key could/should be nullable. this
has certain advantages, for example, if you need to insert a child record
and you don't have a parent row for it, just do an insert into the parent
table with the primary key value (everything else null), and voila,
relational integrity is preserved. but this is, admittedly, a bit
controversial among modellers.
--r937, dbforums.com
We use strictly necessary cookies to make this site work. With your
consent we’d also use optional cookies for analytics and marketing. You can accept all,
reject all, or choose. Read our Cookie Policy.