On 11/26/08, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> "Merlin Moncure" <mmoncure@gmail.com> writes:
> > On Mon, Nov 24, 2008 at 10:25 AM, Marko Kreen <markokr@gmail.com> wrote:
> >> IOW, DISCARD ALL should be functionally equivalent to backend exit.
>
> > Having done a lot of work with advisory locks, I support this change.
> > Advisory locks are essentially session scoped objects like prepared
> > statements or notifies. It's only natural to clean them up in the
> > same way.
>
> > That said, I don't think this should be backpatched to 8.3.
>
> Done but not back-patched.
I think this should be back-patched as well:
- The fact that disconnect will clean up used resources has been always true, thus most clients assume at some level.
- DISCARD ALL was new feature in 8.3. It is highly doubtful some adv-locks using project has managed to hard-code
dependencyon buggy behaviour of DISCARD.
- The bug was reported by regular user who encountered deadlocks on 8.3 because of it.
--
marko