From: Tom Lane Date: Sun, 23 Mar 2003 21:55:14 +0000 (+0000) Subject: Band-aid patch for Shraibman's 'out of free buffers' bug: disable the X-Git-Tag: REL7_3_3~54 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=579adfd6542b20b5112a4f43945c5559cd8bc1eb;p=postgresql 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. --- diff --git a/src/backend/access/index/indexam.c b/src/backend/access/index/indexam.c index 9852e7d078..daed238a32 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))