Thread: Re: [COMMITTERS] pgsql/src/backend/utils/adt (ri_triggers.c)
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
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.
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