Re: is correct to use RCPFUNC with Informix ?
Posted in 1997
On Wed, 22 Oct 1997, Billy Wheeler wrote:
> On 21 Oct 97 at 12:35, Art S. Kagel wrote:
> } Billy Wheeler wrote:
> } > On 19 Oct 97 at 17:39, Philippe Verdy wrote:
> } > > Informix, as opposed to Sybase, does not allow a stored
> } > > procedure to return multiple results sets.
> } > No comment on the rest of the post, but this is definitely
> } > incorrect.
> }
> } No Billy, Philippe is correct, he is not saying that Informix SPL
> } cannot return multiple records but that it can only return one set
> } of values which is consistent from record to record. Sybase with
> } their Cheech and Chong attitude ("Standards? We don't need no
> } stinking standards!") can return different values/types/numbers of
> } values from one returned record to the next (ie first call returns
> } column labels, all text, next few calls return data, then return
> } totals for only some columns on last call).
>
> I stand corrected. I misunderstood. But this is hilarious. It must be
> one of those things that make Sybase "better" than Informix... I must
> just be dumb or something, but this sounds like more trouble than
> it's worth. Of course, I fully expect 200 posts proving me
> wrong...:-)
Well, I only plan one posting, but...
Illustra could return 'ragged rows' when a SELECT operation was done on a
table which has multiple tables inheriting from it. My syntax is probably
all shot to pieces, but something along the lines of:
CREATE TABLE Base ( ... );
CREATE TABLE Derived1 UNDER Base ( ... );
CREATE TABLE Derived2 UNDER Base ( ... );
The DerivedN tables contain all the columns in Base plus the ones described
in their own CREATE TABLE statement.
-- Probably not the correct syntax for the operation described below
SELECT * FROM Base;
The rows in Base only would be returned with one set of return values; the
rows in Derived1 would also be returned (if not by this syntax, then by
some similar syntax), but they'd have the extra columns defined in the
table definition of Derived1; and similarly for the rows in Derived2. Etc.
I'm not clear whether the current version of IUS supports this, but I
believe it will be part of the product in due course. You'd find some
information on the subject in Stonebraker's book on ORDBMS.
I am not convinced I like this at all; at the very least, it complicates
the hell out of retrieving data (especially if it is ordered so that
the Base, Derived1 and Derived2 rows are interleaved). And it seems pretty
much 100% non-relational to me.
Yours,
Jonathan Leffler (johnl@informix.com) #include <witticism.h>