#ifdef BTREE_BUILD_STATS enables to get executor stats for btree

building.
This commit is contained in:
Vadim B. Mikheev 1997-04-18 03:37:57 +00:00
parent d94c7fc4c5
commit 538f58c04c
2 changed files with 37 additions and 17 deletions

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtree.c,v 1.17 1997/03/24 08:48:11 vadim Exp $
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtree.c,v 1.18 1997/04/18 03:37:53 vadim Exp $
*
* NOTES
* This file contains only the public interface routines.
@ -33,6 +33,12 @@
# include <string.h>
#endif
#ifdef BTREE_BUILD_STATS
#include <tcop/tcopprot.h>
extern int ShowExecutorStats;
#endif
bool BuildingBtree = false; /* see comment in btbuild() */
bool FastBuild = true; /* use sort/build instead of insertion build */
@ -77,10 +83,6 @@ btbuild(Relation heap,
bool isunique;
bool usefast;
#if 0
ResetBufferUsage();
#endif
/* note that this is a new btree */
BuildingBtree = true;
@ -95,6 +97,11 @@ btbuild(Relation heap,
*/
usefast = (FastBuild && IsNormalProcessingMode());
#ifdef BTREE_BUILD_STATS
if ( ShowExecutorStats )
ResetUsage ();
#endif
/* see if index is unique */
isunique = IndexIsUniqueNoCache(RelationGetRelationId(index));
@ -278,18 +285,15 @@ btbuild(Relation heap,
_bt_spooldestroy(spool);
}
#if 0
#ifdef BTREE_BUILD_STATS
if ( ShowExecutorStats )
{
extern int ReadBufferCount, BufferHitCount, BufferFlushCount;
extern long NDirectFileRead, NDirectFileWrite;
printf("buffer(%d): r=%d w=%d\n", heap->rd_rel->relblocksz,
ReadBufferCount - BufferHitCount, BufferFlushCount);
printf("direct(%d): r=%d w=%d\n", LocalBlockSize,
NDirectFileRead, NDirectFileWrite);
fprintf(stderr, "! BtreeBuild Stats:\n");
ShowUsage ();
ResetUsage ();
}
#endif
/*
* Since we just counted the tuples in the heap, we update its
* stats in pg_class to guarantee that the planner takes advantage

View File

@ -5,7 +5,7 @@
*
*
* IDENTIFICATION
* $Id: nbtsort.c,v 1.14 1997/04/16 01:48:27 vadim Exp $
* $Id: nbtsort.c,v 1.15 1997/04/18 03:37:57 vadim Exp $
*
* NOTES
*
@ -63,6 +63,11 @@
# include <string.h>
#endif
#ifdef BTREE_BUILD_STATS
#include <tcop/tcopprot.h>
extern int ShowExecutorStats;
#endif
/*
* turn on debugging output.
*
@ -427,7 +432,7 @@ _bt_tapewrite(BTTapeBlock *tape, int eor)
{
tape->bttb_eor = eor;
FileWrite(tape->bttb_fd, (char *) tape, TAPEBLCKSZ);
NDirectFileWrite += TAPEBLCKSZ;
NDirectFileWrite += TAPEBLCKSZ/MAXBLCKSZ;
_bt_tapereset(tape);
}
@ -463,7 +468,7 @@ _bt_taperead(BTTapeBlock *tape)
return(0);
}
Assert(tape->bttb_magic == BTTAPEMAGIC);
NDirectFileRead += TAPEBLCKSZ;
NDirectFileRead += TAPEBLCKSZ/MAXBLCKSZ;
return(1);
}
@ -1366,5 +1371,16 @@ void
_bt_leafbuild(Relation index, void *spool)
{
_bt_isortcmpinit (index, (BTSpool *) spool);
#ifdef BTREE_BUILD_STATS
if ( ShowExecutorStats )
{
fprintf(stderr, "! BtreeBuild (Spool) Stats:\n");
ShowUsage ();
ResetUsage ();
}
#endif
_bt_merge(index, (BTSpool *) spool);
}