From a34fd959777ba0c06ccc3504dd86e0c984d90a0e Mon Sep 17 00:00:00 2001 From: Tatsuo Ishii Date: Tue, 25 Apr 2006 00:40:54 +0000 Subject: [PATCH] Fix bug reported by Michael Fuhr on Sun, 23 Apr 2006 09:52:31 -0600 (pgsql-committers@postgresql.org). --- contrib/pgrowlocks/pgrowlocks.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/contrib/pgrowlocks/pgrowlocks.c b/contrib/pgrowlocks/pgrowlocks.c index 51035e4015..1253f7c51a 100644 --- a/contrib/pgrowlocks/pgrowlocks.c +++ b/contrib/pgrowlocks/pgrowlocks.c @@ -1,5 +1,5 @@ /* - * $PostgreSQL: pgsql/contrib/pgrowlocks/pgrowlocks.c,v 1.1 2006/04/23 01:12:58 ishii Exp $ + * $PostgreSQL: pgsql/contrib/pgrowlocks/pgrowlocks.c,v 1.2 2006/04/25 00:40:54 ishii Exp $ * * Copyright (c) 2005-2006 Tatsuo Ishii * @@ -61,6 +61,7 @@ extern Datum pgrowlocks(PG_FUNCTION_ARGS); #undef MAKERANGEVARFROMNAMELIST_HAS_TWO_ARGS typedef struct { + Relation rel; HeapScanDesc scan; int ncolumns; } MyData; @@ -100,6 +101,7 @@ pgrowlocks(PG_FUNCTION_ARGS) rel = heap_openrv(relrv, AccessShareLock); scan = heap_beginscan(rel, SnapshotNow, 0, NULL); mydata = palloc(sizeof(*mydata)); + mydata->rel = rel; mydata->scan = scan; mydata->ncolumns = tupdesc->natts; funcctx->user_fctx = mydata; @@ -222,7 +224,7 @@ pgrowlocks(PG_FUNCTION_ARGS) } heap_endscan(scan); - heap_close(scan->rs_rd, AccessShareLock); + heap_close(mydata->rel, AccessShareLock); SRF_RETURN_DONE(funcctx); }