Delete the temporary file used in buffered GiST build, after the build.

There were two bugs here: We forgot to call gistFreeBuildBuffers() function
at the end of build, and we passed interXact == true to BufFileCreateTemp,
so the file wasn't automatically cleaned up at end-of-transaction either.
pull/3/head
Heikki Linnakangas 14 years ago
parent 4317e0246c
commit be02b16826
  1. 1
      src/backend/access/gist/gistbuild.c
  2. 2
      src/backend/access/gist/gistbuildbuffers.c

@ -214,6 +214,7 @@ gistbuild(PG_FUNCTION_ARGS)
{
elog(DEBUG1, "all tuples processed, emptying buffers");
gistEmptyAllBuffers(&buildstate);
gistFreeBuildBuffers(buildstate.gfbb);
}
/* okay, all heap tuples are indexed */

@ -58,7 +58,7 @@ gistInitBuildBuffers(int pagesPerBuffer, int levelStep, int maxLevel)
* Create a temporary file to hold buffer pages that are swapped out of
* memory.
*/
gfbb->pfile = BufFileCreateTemp(true);
gfbb->pfile = BufFileCreateTemp(false);
gfbb->nFileBlocks = 0;
/* Initialize free page management. */

Loading…
Cancel
Save