1
0
mirror of https://github.com/postgres/postgres.git synced 2025-09-09 13:09:39 +03:00

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.
This commit is contained in:
Tom Lane
2003-03-23 21:55:14 +00:00
parent 2d0cf42cd4
commit 579adfd654

View File

@@ -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))