Commit 538f58c0 authored by Vadim B. Mikheev's avatar Vadim B. Mikheev

#ifdef BTREE_BUILD_STATS enables to get executor stats for btree

building.
parent d94c7fc4
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * 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 * NOTES
* This file contains only the public interface routines. * This file contains only the public interface routines.
...@@ -33,6 +33,12 @@ ...@@ -33,6 +33,12 @@
# include <string.h> # include <string.h>
#endif #endif
#ifdef BTREE_BUILD_STATS
#include <tcop/tcopprot.h>
extern int ShowExecutorStats;
#endif
bool BuildingBtree = false; /* see comment in btbuild() */ bool BuildingBtree = false; /* see comment in btbuild() */
bool FastBuild = true; /* use sort/build instead of insertion build */ bool FastBuild = true; /* use sort/build instead of insertion build */
...@@ -77,10 +83,6 @@ btbuild(Relation heap, ...@@ -77,10 +83,6 @@ btbuild(Relation heap,
bool isunique; bool isunique;
bool usefast; bool usefast;
#if 0
ResetBufferUsage();
#endif
/* note that this is a new btree */ /* note that this is a new btree */
BuildingBtree = true; BuildingBtree = true;
...@@ -95,6 +97,11 @@ btbuild(Relation heap, ...@@ -95,6 +97,11 @@ btbuild(Relation heap,
*/ */
usefast = (FastBuild && IsNormalProcessingMode()); usefast = (FastBuild && IsNormalProcessingMode());
#ifdef BTREE_BUILD_STATS
if ( ShowExecutorStats )
ResetUsage ();
#endif
/* see if index is unique */ /* see if index is unique */
isunique = IndexIsUniqueNoCache(RelationGetRelationId(index)); isunique = IndexIsUniqueNoCache(RelationGetRelationId(index));
...@@ -278,15 +285,12 @@ btbuild(Relation heap, ...@@ -278,15 +285,12 @@ btbuild(Relation heap,
_bt_spooldestroy(spool); _bt_spooldestroy(spool);
} }
#if 0 #ifdef BTREE_BUILD_STATS
if ( ShowExecutorStats )
{ {
extern int ReadBufferCount, BufferHitCount, BufferFlushCount; fprintf(stderr, "! BtreeBuild Stats:\n");
extern long NDirectFileRead, NDirectFileWrite; ShowUsage ();
ResetUsage ();
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);
} }
#endif #endif
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
* *
* *
* IDENTIFICATION * 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 * NOTES
* *
...@@ -63,6 +63,11 @@ ...@@ -63,6 +63,11 @@
# include <string.h> # include <string.h>
#endif #endif
#ifdef BTREE_BUILD_STATS
#include <tcop/tcopprot.h>
extern int ShowExecutorStats;
#endif
/* /*
* turn on debugging output. * turn on debugging output.
* *
...@@ -427,7 +432,7 @@ _bt_tapewrite(BTTapeBlock *tape, int eor) ...@@ -427,7 +432,7 @@ _bt_tapewrite(BTTapeBlock *tape, int eor)
{ {
tape->bttb_eor = eor; tape->bttb_eor = eor;
FileWrite(tape->bttb_fd, (char *) tape, TAPEBLCKSZ); FileWrite(tape->bttb_fd, (char *) tape, TAPEBLCKSZ);
NDirectFileWrite += TAPEBLCKSZ; NDirectFileWrite += TAPEBLCKSZ/MAXBLCKSZ;
_bt_tapereset(tape); _bt_tapereset(tape);
} }
...@@ -463,7 +468,7 @@ _bt_taperead(BTTapeBlock *tape) ...@@ -463,7 +468,7 @@ _bt_taperead(BTTapeBlock *tape)
return(0); return(0);
} }
Assert(tape->bttb_magic == BTTAPEMAGIC); Assert(tape->bttb_magic == BTTAPEMAGIC);
NDirectFileRead += TAPEBLCKSZ; NDirectFileRead += TAPEBLCKSZ/MAXBLCKSZ;
return(1); return(1);
} }
...@@ -1366,5 +1371,16 @@ void ...@@ -1366,5 +1371,16 @@ void
_bt_leafbuild(Relation index, void *spool) _bt_leafbuild(Relation index, void *spool)
{ {
_bt_isortcmpinit (index, (BTSpool *) 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); _bt_merge(index, (BTSpool *) spool);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment