
> OIDs are a bastardization of the relational model.  If you have to keep
> them, then do so, but their use should be SEVERELY discouraged.

Explain yourself, please.

In my opinion, I view the OID in the same way as I view the SERIAL datatype
in Informix.  It is usually a primary key field in a table.  On an insert,
the DBMS will increment the current serial-maximum (for that table) and insert
the new serial value into that field; thus creating a unique identifier.

There are differences between OID and SERIAL.  The main difference is that
the OID field (always called 'oid') is always present whereas a DB designer
explicitly creates 'id' fields (of SERIAL type).  Thus, postgresql treats
every table as an object (which is not always the case).

Is the SERIAL datatype part of the SQL-92 standard?  Does PostgreSQL plan
to support SERIAL in the future.  This would be an acceptable replacement
for the OID.

-Bryan Basham

Thu, 15 Jan 1998 11:39:16 -0700 (MST)
Bryan Basham <basham@bhi.com>
Re: [QUESTIONS] Arrays (inserting and removing)
On Thu, 15 Jan 1998, Bryan Basham wrote:

> 
> > OIDs are a bastardization of the relational model.  If you have to keep
> > them, then do so, but their use should be SEVERELY discouraged.
> 
> Explain yourself, please.
> 
> In my opinion, I view the OID in the same way as I view the SERIAL datatype
> in Informix.  It is usually a primary key field in a table.  On an insert,
> the DBMS will increment the current serial-maximum (for that table) and insert
> the new serial value into that field; thus creating a unique identifier.
> 
> There are differences between OID and SERIAL.  The main difference is that
> the OID field (always called 'oid') is always present whereas a DB designer
> explicitly creates 'id' fields (of SERIAL type).  Thus, postgresql treats
> every table as an object (which is not always the case).

	Major problem with OID: OIDs are sequenced across the database,
not the table.  ie. tableA inserts with OID #1, tableB inserts with OID
#2, tableA inserts next record with OID #3, tableC then gets #4, etc...

	And...# of OIDs is finite...so if you have a lot of tables with
alot of data in each...you run the risk of running out.

	In this sense, sequences are the better alternative, but again,
they are a newer feature to PostgreSQL then the code that I wrote using
OIDs



Thu, 15 Jan 1998 13:48:24 -0500 (EST)
The Hermit Hacker <scrappy@hub.org>
Re: [HACKERS] Re: [QUESTIONS] Arrays (inserting and removing)
On Thu, 15 Jan 1998, The Hermit Hacker wrote:

> 	Major problem with OID: OIDs are sequenced across the database,
> not the table.  ie. tableA inserts with OID #1, tableB inserts with OID
> #2, tableA inserts next record with OID #3, tableC then gets #4, etc...

in my oo world (i.e., systems i develop), i use oid's to determine the
type of object and due to the limitation of postgresql's oids, i use a
separate field for the system's oid - kinda redundant but gotta live with
it.  nonetheless, postgresql's oids can still be improved.

> 	And...# of OIDs is finite...so if you have a lot of tables with
> alot of data in each...you run the risk of running out.

finitely limited :)

[---]
Neil D. Quiogue <neil@iphil.net>
IPhil Communications Network, Inc.
Other: neil@postgresql.org


Fri, 16 Jan 1998 09:04:10 +0800 (HKT)
"neil d. quiogue" <neil@iphil.net>
Re: [HACKERS] Re: [QUESTIONS] Arrays (inserting and removing)