Skip site navigation (1) Skip section navigation (2)

(resend) NULL constrains inheritance to views

From: Bradley Kieser <brad(at)kieser(dot)net>
To: PgSQL ADMIN <pgsql-admin(at)postgresql(dot)org>
Subject: (resend) NULL constrains inheritance to views
Date: 2005-01-06 17:05:42
Message-ID: 41DD6FE6.1090306@kieser.net (view raw or flat)
Thread:
Lists: pgsql-admin
(resend as my other mail seems to not have gotten through)

I have created a schema with views on top of tables. We use JDBC to 
connect to the schema and we use JBuilderX to develop our app.

Every table as an "id" column of type serial. I.e. It is not null with 
default nextval(...).
However, it seems that when a column from a table is used in a view, the 
not null part (as well as the default values) seems to be dropped.
Serials become integers.

I can use "alter table" to restore default values on the views, but 
"alter table" to make a view column not null results in an error saying 
that the viewname is not a table! I.e. I don't seem to be able to make 
the column not null.

I think that this is throwing JBuilder's resolver into chaos because it 
doesn't use the column that I have specified as ROWID (column "id" for 
each view) to resolve update rows back to the view, it tries to use 
every single column, a sure sign that it thinks that the column I have 
told it is a rowid isn't up to the job. I am pretty certain that it's 
because it thinks that column can be null.

Unfortunately I have to use views and cannot use tables because of 
security in the app. The views have rules set on them as well as 
permissions to specific users. So the answer isn't to open up the 
database and use the underlying tables instead. That would open a 
security hole in the app. Moreover, I use views to do complex processing 
in PG (e.g. multi-table joins or rules and triggers on updates to ensure 
data integrity and implement business logic). JBuilder, being a RAD is 
great at building apps from simple datasets (i.e. single views and 
tables), but it quickly starts to wilt under complex parametised queries!

So for these reasons I need to find a way to tell JBuilder (through 
JDBC) that the ID columns are not nullable. But how? Can someone please 
help me?

Thanks,

Brad

Responses

pgsql-admin by date

Next:From: Jaime CasanovaDate: 2005-01-06 17:28:12
Subject: Re: max_fsm_relations
Previous:From: Rupa Schomaker (lists)Date: 2005-01-06 11:10:16
Subject: 7.4 and schema 'maintainance'

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group