diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-03-23 21:55:14 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-03-23 21:55:14 +0000 |
commit | 579adfd6542b20b5112a4f43945c5559cd8bc1eb (patch) | |
tree | ac00fa082a7948476b4c9bbae758adb276e6c84c | |
parent | 2d0cf42cd41a7784a9fa691221a14b978ee631db (diff) | |
download | postgresql-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.c | 8 |
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)) |