> > In this case, SIGINT (query cancel) will not help, because 
> all locks 
> > held by the transaction will still be held.
> 
> Wrong.

Really? 
Please point out where I am wrong in this:

SESSION A:              BEGIN TRANSACTION
SESSION A:              LOCK TABLE foo IN ACCESS EXCLUSIVE MODE
SESSION B:              SELECT * FROM foo      <-- blocks (expected)!
not-in-session: KILL -INT <pid_of_session_A>
 (at this point, <pid_of_session_A> is listed as "idle in transaction")
SESSION B:        <-- still blcoks....
SESSION A:              ROLLBACK
SESSION B:              <-- now completes

If I kill it with TERM instead of INT, SESSION B is released at that
point.

Am I missing something very obvious here?


This is on:
 PostgreSQL 7.4.2 on i686-pc-linux-gnu, compiled by GCC 2.95.3


//Magnus

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to