Re: oid's in views. - Mailing list pgsql-sql

From Josh Berkus
Subject Re: oid's in views.
Date
Msg-id web-400014@davinci.ethosmedia.com
Whole thread Raw
In response to Re: oid's in views.  ("Aasmund Midttun Godal" <postgresql@envisity.com>)
List pgsql-sql
Aasmund,

    Thank you for the clarification.  Now that I know what you are doing, I
went through exactly the same thing about a year ago ... which is how we
discovered some additional problems with using OIDs in database design.
I was trying to spare you the same dead end.

> > If your problem is that you want to update VIEWs and aren't sure
> what the
> > PK for the view is, could you follow a standard like this:
> >
> > CREATE TABLE person (social_security CHAR(9), full_name TEXT);
> >
> > CREATE VIEW pers_view AS select social_security AS primkey,
> >                                 social_security,
> >                                 full_name);
> >
> > and know that you can always find the "primkey" field in the view
> as one
> > to use in where clauses for updates?

This is more-or-less a correct approach.  As it does not address the
issue of different data types, let me tell you what I did:

Each significant data table contains one column, the first column,
called "usq", for "universal sequence".  This usq field may or may not
be the primary key for the table, but does have a unique index.  The usq
is populated by a single sequence "universal_sq" which is shared between
tables, thus allowing all tables usq uniqueness between them.

This strategy has allowed me to write a number of functions which are
table-agnostic, needing only the usq to do their job (such as a function
that creates modification hisotry).

-Josh Berkus


______AGLIO DATABASE SOLUTIONS___________________________
                                       Josh Berkus
  Complete information technology      josh@agliodbs.com
   and data management solutions       (415) 565-7293
  for law firms, small businesses        fax 621-2533
    and non-profit organizations.      San Francisco

Attachment

pgsql-sql by date:

Previous
From: Joel Burton
Date:
Subject: Re: oid's in views.
Next
From: Esteban Gutierrez Abarzua
Date:
Subject: cast