postgresql/src
Tom Lane c676f835b5 Ensure that seqscans check for interrupts at least once per page.
If a seqscan encounters many consecutive pages containing only dead tuples,
it can remain in the loop in heapgettup for a long time, and there was no
CHECK_FOR_INTERRUPTS anywhere in that loop.  This meant there were
real-world situations where a query would be effectively uncancelable for
long stretches.  Add a check placed to occur once per page, which should be
enough to provide reasonable response time without adding any measurable
overhead.

Report and patch by Merlin Moncure (though I tweaked it a bit).
Back-patch to all supported branches.
2012-05-22 19:42:18 -04:00
..
backend Ensure that seqscans check for interrupts at least once per page. 2012-05-22 19:42:18 -04:00
bin Revert recent commit re positional arguments. 2012-04-18 10:58:01 -04:00
include Ensure age() returns a stable value rather than the latest value 2012-05-11 14:38:53 +01:00
interfaces ecpg: Fix off-by-one error in memory copying 2012-03-11 01:03:16 +02:00
makefiles Fix assorted issues with build and install paths containing spaces. 2011-06-14 16:41:23 -04:00
pl PL/pgSQL RETURN NEXT was leaking converted tuples, causing 2012-05-09 22:51:17 -07:00
port Stamp 9.0.7. 2012-02-23 17:56:26 -05:00
template Don't try to force use of -no-cpp-precomp on OS X. It's been five years 2010-08-02 04:51:25 +00:00
test Fix COPY FROM for null marker strings that correspond to invalid encoding. 2012-03-25 23:17:32 -04:00
timezone Fix edge-case behavior of pg_next_dst_boundary(). 2012-04-25 17:25:24 -04:00
tools Backpatch "Use the preferred version of xsubpp." 2011-11-28 07:54:03 -05:00
tutorial Remove copyright mention of Andrew Yu, per author's permission. 2010-02-02 18:52:02 +00:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:06 +02:00
bcc32.mak Remove old-style win32 client-only visual c++ build infrastructure for everything except 2007-03-05 14:18:38 +00:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Rethink the way walreceiver is linked into the backend. Instead than shoving 2010-01-20 09:16:24 +00:00
Makefile.global.in Accept slightly grotty coding in Makefile.global in order to keep the -L 2010-07-06 22:03:05 +00:00
Makefile.shlib Fix assorted issues with build and install paths containing spaces. 2011-06-14 16:41:23 -04:00
nls-global.mk Avoid error from mkdir if no languages are to be installed 2010-05-13 14:35:28 +00:00
win32.mak Update supported standalone VC++ version to 7.1+ only, and fix 2007-08-03 10:47:11 +00:00