I created a table from within OO 1.01 and had no write privileges. The first
problem is that OO will not grant editing rights to a table without a primary
key. As you found out you cannot create an index from within OO. The second
problem is that creating a table in OO does nothing to the relacl column in
pg_class. As Tom wrote a null value is considered by Postgres to be full
permissions for the owner. The JDBC driver sees things differently and would
not allow me to edit until I used GRANT to populate relacl with permissions.
The third problem is that disconnecting and reconnecting from within OO did
not catch the change. The only way to make the change apparent was to shut OO
down and then reopen it. There must be caching of values going on behind the
scenes.
On Wednesday 19 March 2003 02:01 am, Dave Cramer wrote:
> I haven't been able to recreate any of this???
>
> When a table is made, it automatically is owned by the owner of the
> connection, so it should have write privleges by the owner???
>
> I did note that oo defaults to trying to use the connection owners name
> for schema, I forced it to public when I created my tables. Does that
> make a difference ?
>
> I did find one more thing though
>
> oo tries to create index's using the following syntax; which won't work
>
> CREATE INDEX "id_idx" ON "public"."ootable" ( "id" DESC)
>
> Dave
>
> On Wed, 2003-03-19 at 04:36, Dave Cramer wrote:
> > The driver doesn't do anything when a "create table foo ..." is
> > executed, and there is no api for modifying the user permissions ??
> >
> > Dave
> >
> > On Wed, 2003-03-19 at 00:53, Tom Lane wrote:
> > > Adrian Klaver <aklaver(at)attbi(dot)com> writes:
> > > > I finally tracked down the problem. You have to use the GRANT command
> > > > to set privileges on your table. Postgres assumes the table owner has
> > > > all rights but does do not write that info into the access control
> > > > list of pg_class. It would seem the JDBC driver looks to pg_class for
> > > > information on permissions.
> > >
> > > Hm. The backend treats NULL in pg_class.relacl as meaning the default
> > > permissions (owner = all, everyone else = none). I wonder whether jdbc
> > > gets that right?
> > >
> > > regards, tom lane
> > >
> > > ---------------------------(end of
> > > broadcast)--------------------------- TIP 1: subscribe and unsubscribe
> > > commands go to majordomo(at)postgresql(dot)org