Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 75df6dc

Browse files
committed
Fix ancient thinko in default table rowcount estimation.
The code used sizeof(ItemPointerData) where sizeof(ItemIdData) is correct, since we're trying to account for a tuple's line pointer. Spotted by Tomonari Katsumata (bug #12584). Although this mistake is of very long standing, no back-patch, since it's a relatively harmless error and changing it would risk changing default planner behavior in stable branches. (I don't see any change in regression test outputs here, but the buildfarm may think differently.)
1 parent 4c34dcf commit 75df6dc

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/backend/optimizer/util/plancat.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ estimate_rel_size(Relation rel, int32 *attr_widths,
509509

510510
tuple_width = get_rel_data_width(rel, attr_widths);
511511
tuple_width += sizeof(HeapTupleHeaderData);
512-
tuple_width += sizeof(ItemPointerData);
512+
tuple_width += sizeof(ItemIdData);
513513
/* note: integer division is intentional here */
514514
density = (BLCKSZ - SizeOfPageHeaderData) / tuple_width;
515515
}

0 commit comments

Comments
 (0)