1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-18 17:42:25 +03:00

Teach heapam code to know the difference between a real seqscan and the

pseudo HeapScanDesc created for a bitmap heap scan.  This avoids some useless
overhead during a bitmap scan startup, in particular invoking the syncscan
code.  (We might someday want to do that, but right now it's merely useless
contention for shared memory, to say nothing of possibly pushing useful
entries out of syncscan's small LRU list.)  This also allows elimination of
ugly pgstat_discount_heap_scan() kluge.
This commit is contained in:
Tom Lane
2007-06-09 18:49:55 +00:00
parent 7063c46fc1
commit 85d72f0516
5 changed files with 48 additions and 34 deletions

View File

@ -5,7 +5,7 @@
*
* Copyright (c) 2001-2007, PostgreSQL Global Development Group
*
* $PostgreSQL: pgsql/src/include/pgstat.h,v 1.61 2007/05/27 17:28:36 tgl Exp $
* $PostgreSQL: pgsql/src/include/pgstat.h,v 1.62 2007/06/09 18:49:55 tgl Exp $
* ----------
*/
#ifndef PGSTAT_H
@ -518,12 +518,6 @@ extern void pgstat_initstats(Relation rel);
if (pgstat_collect_tuplelevel && (rel)->pgstat_info != NULL) \
(rel)->pgstat_info->t_counts.t_numscans++; \
} while (0)
/* kluge for bitmap scans: */
#define pgstat_discount_heap_scan(rel) \
do { \
if (pgstat_collect_tuplelevel && (rel)->pgstat_info != NULL) \
(rel)->pgstat_info->t_counts.t_numscans--; \
} while (0)
#define pgstat_count_heap_getnext(rel) \
do { \
if (pgstat_collect_tuplelevel && (rel)->pgstat_info != NULL) \