Peter Eisentraut wrote:
>
> On 2000-01-24, The Hermit Hacker mentioned:
>
> > Except, as Chris Bitmead brought up, OIDs appear to be a key requirement
> > in ODBMSs ... so, if we want to go what I *think* is 'next generation',
> > OIDs have to be kept ...
>
> Independent of everything else I would like to point out that although
> oids do appear in a central role in the theory of object oriented
> databases they are still not a user-level feature. The system uses them to
> in essence do what some people already do with them now: use them as links
> in foreign key settings. This sort of scheme is supposed to eliminate the
> need for costly joins, since you already know the location of the data
> (assuming that you have a scheme to map the oid to the storage location).
AFAIK we currently don't. We have the (volatile) tids for that.
> Our oids are something different (though not sure what), PostgreSQL is
> something different. I am by all means against breaking what oids
> represent now, but incidentally I am also against them becoming (being) a
> user-level feature.
It would go at least half-way if we had a reasonably fast function that can
give either the type of objest (the relation) or the tuple itself if given
it's oid.
select tuple_for_oif(myoid);
or
select relation_containing_oid(myoid);
or even
select * from relation_containing_oid(myoid) where oid = myoid;
maybe spelled as
select * from * where oid = myoid; ;)
An we could re-introduce the ability to get full tuples for select * from
base*;
We used to have it but cuurently it is at lest discouraged and probably
unsupported
in libpq;
---------
Hannu