/*
- * $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
  *
 #undef MAKERANGEVARFROMNAMELIST_HAS_TWO_ARGS
 
 typedef struct {
+   Relation    rel;
    HeapScanDesc scan;
    int ncolumns;
 } MyData;
        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;
    }
 
    heap_endscan(scan);
-   heap_close(scan->rs_rd, AccessShareLock);
+   heap_close(mydata->rel, AccessShareLock);
 
    SRF_RETURN_DONE(funcctx);
 }