]> granicus.if.org Git - postgresql/commit
Fix (some of the) breakage introduced into query-cancel processing by HS.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 7 Jan 2010 16:29:58 +0000 (16:29 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 7 Jan 2010 16:29:58 +0000 (16:29 +0000)
commit82170c747bf74e31f7083849c07a53ec643356b4
treeebfde62f3487afb2d977ddf7dad7c769837b782b
parent6fb791199db1fd6650829cd39d9c26210c09e150
Fix (some of the) breakage introduced into query-cancel processing by HS.

It is absolutely not okay to throw an ereport(ERROR) in any random place in
the code just because DoingCommandRead is set; interrupting, say, OpenSSL
in the midst of its activities is guaranteed to result in heartache.

Instead of that, undo the original optimizations that threw away
QueryCancelPending anytime we were starting or finishing a command read, and
instead discard the cancel request within ProcessInterrupts if we find that
there is no HS reason for forcing a cancel and we are DoingCommandRead.

In passing, may I once again condemn the practice of changing the code
and not fixing the adjacent comment that you just turned into a lie?
src/backend/tcop/postgres.c