Here is the definition of relation_byte_size() in optimizer/path/costsize.c:

----------------------------------------------------------------------
/*
 * relation_byte_size
 *        Estimate the storage space in bytes for a given number of tuples
 *        of a given width (size in bytes).
 */
static double
relation_byte_size(double tuples, int width)
{
        return tuples * (MAXALIGN(width) + MAXALIGN(sizeof(HeapTupleData)));
}

----------------------------------------------------------------------

Shouldn't this be HeapTupleHeaderData and not HeapTupleData ?

(Of course, from a costing perspective these shouldn't be very different but ...)

Sailesh Krishnamurthy
This commit is contained in:
Bruce Momjian 2003-12-18 03:46:45 +00:00
parent bb58eed004
commit ed96bfde18
1 changed files with 2 additions and 2 deletions

View File

@ -49,7 +49,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/optimizer/path/costsize.c,v 1.117 2003/12/03 17:45:07 tgl Exp $ * $PostgreSQL: pgsql/src/backend/optimizer/path/costsize.c,v 1.118 2003/12/18 03:46:45 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -1969,7 +1969,7 @@ set_rel_width(Query *root, RelOptInfo *rel)
static double static double
relation_byte_size(double tuples, int width) relation_byte_size(double tuples, int width)
{ {
return tuples * (MAXALIGN(width) + MAXALIGN(sizeof(HeapTupleData))); return tuples * (MAXALIGN(width) + MAXALIGN(sizeof(HeapTupleHeaderData)));
} }
/* /*