Thread: Re: [COMMITTERS] pgsql/src/backend/utils/adt (ri_triggers.c)

Re: [COMMITTERS] pgsql/src/backend/utils/adt (ri_triggers.c)

From
Tom Lane
Date:
inoue@postgresql.org writes:
> Update of /home/projects/pgsql/cvsroot/pgsql/src/backend/utils/adt
> Modified Files:
>     ri_triggers.c 
> keep relations open until they are no longer needed.

Something that's been bothering me for a good while about ri_triggers
is that it opens the relations without any lock to begin with.
That can't possibly be safe, can it?
        regards, tom lane


Re: Re: [COMMITTERS] pgsql/src/backend/utils/adt (ri_triggers.c)

From
Don Baccus
Date:
At 11:37 PM 11/20/00 -0500, Tom Lane wrote:
>inoue@postgresql.org writes:
>> Update of /home/projects/pgsql/cvsroot/pgsql/src/backend/utils/adt
>> Modified Files:
>>     ri_triggers.c 
>> keep relations open until they are no longer needed.
>
>Something that's been bothering me for a good while about ri_triggers
>is that it opens the relations without any lock to begin with.
>That can't possibly be safe, can it?

Hmmm...I only worked within the structure Jan built (to fix/implement
semantics) but there are efforts to lock things down with "select for
update" where Jan felt it was necessary.  Whether or not that's sufficient
is another question, but he obviously gave it *some* thought.



- Don Baccus, Portland OR <dhogaza@pacifier.com> Nature photos, on-line guides, Pacific Northwest Rare Bird Alert
Serviceand other goodies at http://donb.photo.net.
 


Re: Re: [COMMITTERS] pgsql/src/backend/utils/adt (ri_triggers.c)

From
Hiroshi Inoue
Date:
Tom Lane wrote:

> inoue@postgresql.org writes:
> > Update of /home/projects/pgsql/cvsroot/pgsql/src/backend/utils/adt
> > Modified Files:
> >       ri_triggers.c
> > keep relations open until they are no longer needed.
>
> Something that's been bothering me for a good while about ri_triggers
> is that it opens the relations without any lock to begin with.
> That can't possibly be safe, can it?

Opening relations with no lock seems illegal to me.
Though I have no evidence that it does wrong thing
in ri_triggers.c,it seems that we had better acquire
an AccessShareLock on trial.
I  sometimes see SEGV error around ri stuff and
I've doubted opening relations with no lock.
However the cause was different from it.

Hiroshi Inoue