diff options
Diffstat (limited to 'src/backend/commands')
-rw-r--r-- | src/backend/commands/vacuum.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c index bd5471feebb..fe0b59d8ec3 100644 --- a/src/backend/commands/vacuum.c +++ b/src/backend/commands/vacuum.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.77 1998/08/28 03:36:26 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.78 1998/08/28 04:57:21 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -20,6 +20,7 @@ #include "postgres.h" +#include "miscadmin.h" #include "access/genam.h" #include "access/heapam.h" #include "access/transam.h" @@ -189,8 +190,8 @@ vc_init() if ((fd = open("pg_vlock", O_CREAT | O_EXCL, 0600)) < 0) { elog(ERROR, "Can't create lock file. Is another vacuum cleaner running?\n\ -\tIf not, you may remove the pg_vlock file in the pgsql/data/base/your_db\n\ -\tdirectory"); +\tIf not, you may remove the pg_vlock file in the %s\n\ +\tdirectory", DatabasePath); } close(fd); @@ -2202,11 +2203,10 @@ static void vc_mkindesc(Relation onerel, int nindices, Relation *Irel, IndDesc **Idesc) { IndDesc *idcur; - HeapTuple tuple, cachetuple; + HeapTuple cachetuple; AttrNumber *attnumP; int natts; int i; - Buffer buffer; *Idesc = (IndDesc *) palloc(nindices * sizeof(IndDesc)); @@ -2216,13 +2216,8 @@ vc_mkindesc(Relation onerel, int nindices, Relation *Irel, IndDesc **Idesc) ObjectIdGetDatum(RelationGetRelid(Irel[i])), 0, 0, 0); Assert(cachetuple); - - /* get the buffer cache tuple */ - tuple = heap_fetch(onerel, SnapshotNow, &cachetuple->t_ctid, &buffer); - Assert(tuple); - pfree(cachetuple); - - idcur->tform = (IndexTupleForm) GETSTRUCT(tuple); + /* we never free the copy we make, because Idesc needs it for later */ + idcur->tform = (IndexTupleForm) GETSTRUCT(cachetuple); for (attnumP = &(idcur->tform->indkey[0]), natts = 0; *attnumP != InvalidAttrNumber && natts != INDEX_MAX_KEYS; attnumP++, natts++); @@ -2238,7 +2233,6 @@ vc_mkindesc(Relation onerel, int nindices, Relation *Irel, IndDesc **Idesc) idcur->finfoP = (FuncIndexInfo *) NULL; idcur->natts = natts; - ReleaseBuffer(buffer); } } /* vc_mkindesc */ |