aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2003-03-23 21:55:14 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2003-03-23 21:55:14 +0000
commit579adfd6542b20b5112a4f43945c5559cd8bc1eb (patch)
treeac00fa082a7948476b4c9bbae758adb276e6c84c
parent2d0cf42cd41a7784a9fa691221a14b978ee631db (diff)
downloadpostgresql-579adfd6542b20b5112a4f43945c5559cd8bc1eb.tar.gz
postgresql-579adfd6542b20b5112a4f43945c5559cd8bc1eb.zip
Band-aid patch for Shraibman's 'out of free buffers' bug: disable the
keys_are_unique optimization introduced in 7.3. A better fix will appear in 7.4, but I think back-patching it is too risky for the stable branch.
-rw-r--r--src/backend/access/index/indexam.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/backend/access/index/indexam.c b/src/backend/access/index/indexam.c
index 9852e7d0787..daed238a326 100644
--- a/src/backend/access/index/indexam.c
+++ b/src/backend/access/index/indexam.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/index/indexam.c,v 1.62.2.1 2003/01/08 19:41:57 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/index/indexam.c,v 1.62.2.2 2003/03/23 21:55:14 tgl Exp $
*
* INTERFACE ROUTINES
* index_open - open an index relation by relation OID
@@ -415,7 +415,12 @@ index_getnext(IndexScanDesc scan, ScanDirection direction)
*
* Note that we hold the pin on the single tuple's buffer throughout
* the scan once we are in this state.
+ *
+ * XXX disabled for 7.3.3 because it results in intra-query buffer leak
+ * when a multi-index indexscan is done. Full fix seems too risky to
+ * backpatch.
*/
+#ifdef NOT_USED
if (scan->keys_are_unique && scan->got_tuple)
{
if (ScanDirectionIsForward(direction))
@@ -433,6 +438,7 @@ index_getnext(IndexScanDesc scan, ScanDirection direction)
else
return NULL;
}
+#endif
/* Release any previously held pin */
if (BufferIsValid(scan->xs_cbuf))