Re: [bugfix] DISCARD ALL does not release advisory locks - Mailing list pgsql-hackers

From Marko Kreen
Subject Re: [bugfix] DISCARD ALL does not release advisory locks
Date
Msg-id e51f66da0811240725x5710bb5bhdfbb8aafccd8579@mail.gmail.com
Whole thread Raw
In response to Re: [bugfix] DISCARD ALL does not release advisory locks  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [bugfix] DISCARD ALL does not release advisory locks  ("Merlin Moncure" <mmoncure@gmail.com>)
List pgsql-hackers
On 11/24/08, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> "Marko Kreen" <markokr@gmail.com> writes:
>  > It was brought to my attention that DISCARD ALL
>  > does not release advisory locks:
>
> What is the argument that it should?

DISCARD ALL is supposed to be used by poolers to reset connection
back to startup state to reuse server connection after client
disconnect.  New client should see no difference between fresh
backend and old backend where DISCARD ALL was issued.

IOW, DISCARD ALL should be functionally equivalent to backend exit.

If user want more explicit control over what resources are released,
he should avoid use of DISCARD ALL, instead he should manually pick
individual components from the command sequence DISCARD ALL
is equivalent to.  Eg. when user wants to keep old plans or
advisory locks around, he should manually construct command list
that resets everything except those.

But DISCARD ALL should release everything possible, never should additional
commands be needed in addition to it to do full reset.

-- 
marko


pgsql-hackers by date:

Previous
From: Gregory Stark
Date:
Subject: Re: Visibility map, partial vacuums
Next
From: Gregory Stark
Date:
Subject: Re: [PATCHES] Solve a problem of LC_TIME of windows.