diff --git a/src/include/pgstat.h b/src/include/pgstat.h index 3ae0c5f31dd9ce631ab8ee6f906f5dc21fd090cc..5bea15c4577cc53e7169497f375e472069605e0f 100644 --- a/src/include/pgstat.h +++ b/src/include/pgstat.h @@ -5,7 +5,7 @@ * * Copyright (c) 2001, PostgreSQL Global Development Group * - * $Id: pgstat.h,v 1.2 2001/06/29 16:29:37 wieck Exp $ + * $Id: pgstat.h,v 1.3 2001/06/29 23:03:02 tgl Exp $ * ---------- */ #ifndef PGSTAT_H @@ -349,61 +349,83 @@ extern void pgstat_initstats(PgStat_Info *stats, Relation rel); #define pgstat_reset_heap_scan(s) \ - if ((s)->tabentry != NULL) \ - (s)->heap_scan_counted = FALSE + do { \ + if ((s)->tabentry != NULL) \ + (s)->heap_scan_counted = FALSE; \ + } while (0) #define pgstat_count_heap_scan(s) \ - if ((s)->tabentry != NULL && !(s)->heap_scan_counted) { \ - ((PgStat_TableEntry *)((s)->tabentry))->t_numscans++; \ - (s)->heap_scan_counted = TRUE; \ - } + do { \ + if ((s)->tabentry != NULL && !(s)->heap_scan_counted) { \ + ((PgStat_TableEntry *)((s)->tabentry))->t_numscans++; \ + (s)->heap_scan_counted = TRUE; \ + } \ + } while (0) #define pgstat_count_heap_getnext(s) \ - if ((s)->tabentry != NULL) \ - ((PgStat_TableEntry *)((s)->tabentry))->t_tuples_returned++ + do { \ + if ((s)->tabentry != NULL) \ + ((PgStat_TableEntry *)((s)->tabentry))->t_tuples_returned++; \ + } while (0) #define pgstat_count_heap_fetch(s) \ - if ((s)->tabentry != NULL) \ - ((PgStat_TableEntry *)((s)->tabentry))->t_tuples_fetched++ + do { \ + if ((s)->tabentry != NULL) \ + ((PgStat_TableEntry *)((s)->tabentry))->t_tuples_fetched++; \ + } while (0) #define pgstat_count_heap_insert(s) \ - if ((s)->tabentry != NULL) \ - ((PgStat_TableEntry *)((s)->tabentry))->t_tuples_inserted++ + do { \ + if ((s)->tabentry != NULL) \ + ((PgStat_TableEntry *)((s)->tabentry))->t_tuples_inserted++; \ + } while (0) #define pgstat_count_heap_update(s) \ - if ((s)->tabentry != NULL) \ - ((PgStat_TableEntry *)((s)->tabentry))->t_tuples_updated++ + do { \ + if ((s)->tabentry != NULL) \ + ((PgStat_TableEntry *)((s)->tabentry))->t_tuples_updated++; \ + } while (0) #define pgstat_count_heap_delete(s) \ - if ((s)->tabentry != NULL) \ - ((PgStat_TableEntry *)((s)->tabentry))->t_tuples_deleted++ - + do { \ + if ((s)->tabentry != NULL) \ + ((PgStat_TableEntry *)((s)->tabentry))->t_tuples_deleted++; \ + } while (0) #define pgstat_reset_index_scan(s) \ - if ((s)->tabentry != NULL) \ - (s)->index_scan_counted = FALSE + do { \ + if ((s)->tabentry != NULL) \ + (s)->index_scan_counted = FALSE; \ + } while (0) #define pgstat_count_index_scan(s) \ - if ((s)->tabentry != NULL && !(s)->index_scan_counted) { \ - ((PgStat_TableEntry *)((s)->tabentry))->t_numscans++; \ - (s)->index_scan_counted = TRUE; \ - } + do { \ + if ((s)->tabentry != NULL && !(s)->index_scan_counted) { \ + ((PgStat_TableEntry *)((s)->tabentry))->t_numscans++; \ + (s)->index_scan_counted = TRUE; \ + } \ + } while (0) #define pgstat_count_index_getnext(s) \ - if ((s)->tabentry != NULL) \ - ((PgStat_TableEntry *)((s)->tabentry))->t_tuples_returned++ - + do { \ + if ((s)->tabentry != NULL) \ + ((PgStat_TableEntry *)((s)->tabentry))->t_tuples_returned++; \ + } while (0) #define pgstat_count_buffer_read(s,r) \ - if ((s)->tabentry != NULL) \ - ((PgStat_TableEntry *)((s)->tabentry))->t_blocks_fetched++; \ - else { \ - if (!(s)->no_stats) { \ - pgstat_initstats((s), (r)); \ - if ((s)->tabentry != NULL) \ - ((PgStat_TableEntry *)((s)->tabentry))->t_blocks_fetched++; \ + do { \ + if ((s)->tabentry != NULL) \ + ((PgStat_TableEntry *)((s)->tabentry))->t_blocks_fetched++; \ + else { \ + if (!(s)->no_stats) { \ + pgstat_initstats((s), (r)); \ + if ((s)->tabentry != NULL) \ + ((PgStat_TableEntry *)((s)->tabentry))->t_blocks_fetched++; \ + } \ } \ - } + } while (0) #define pgstat_count_buffer_hit(s,r) \ - if ((s)->tabentry != NULL) \ - ((PgStat_TableEntry *)((s)->tabentry))->t_blocks_hit++; \ - else { \ - if (!(s)->no_stats) { \ - pgstat_initstats((s), (r)); \ - if ((s)->tabentry != NULL) \ - ((PgStat_TableEntry *)((s)->tabentry))->t_blocks_hit++; \ + do { \ + if ((s)->tabentry != NULL) \ + ((PgStat_TableEntry *)((s)->tabentry))->t_blocks_hit++; \ + else { \ + if (!(s)->no_stats) { \ + pgstat_initstats((s), (r)); \ + if ((s)->tabentry != NULL) \ + ((PgStat_TableEntry *)((s)->tabentry))->t_blocks_hit++; \ + } \ } \ - } + } while (0) extern void pgstat_count_xact_commit(void);