Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote on Thu, 30 Apr 1998:
>Michael Hirohama <kamesan(at)ricochet(dot)net> wrote:
>> The historical reason why the POSTGRES backend is required to send multiple
>> result sets is to support cursors on queries involving type inheritance and
>> anonymous target lists.
>> declare c cursor for
>> select e.oid, e.* from EMP* e
>> fetch 10 in c
>> To handle the command sequence above, frontend applications would need to
>> be provided with a new result descriptor when the "fetch 10 in c" crosses a
>> result set boundary.
>I tried this and was unable to produce a failure. It looks like the
>select only returns the set of fields applicable to the base class,
>regardless of what additional fields may be possessed by some
>subclasses. Which, in fact, is more or less what I'd expect.
>Is Michael remembering some old behavior that is no longer implemented?
>And if so, is the old or new behavior the correct one?
> regards, tom lane
Forgive me for my slow memory: I remember now that there was a decision
made to not support exploding the expansion of anonymous target lists
because of the extra complexity it would introduce into the parser and
executor. Thus, Postgres would return at most result set per query
processed. Smart users and smart applications would be able to navigate
the inheritance hierarchy by explicitly specifying tables and columns as
In response to
pgsql-hackers by date
|Next:||From: Michal Mosiewicz||Date: 1998-05-15 02:11:12|
|Subject: Re: [HACKERS] mmap and MAP_ANON|
|Previous:||From: Internet Wire||Date: 1998-05-14 19:35:49|
|Subject: Internet Wire|
pgsql-interfaces by date
|Next:||From: The Hermit Hacker||Date: 1998-05-15 03:25:18|
|Subject: ODBC-Interface (PostODBC) and Postgres 6.3.2|
|Previous:||From: Olaf Mittelstaedt||Date: 1998-05-14 16:53:52|
|Subject: Re: [INTERFACES] Re: Index unused with OR?|