diff options
| author | Andres Freund | 2019-03-30 23:40:33 +0000 |
|---|---|---|
| committer | Andres Freund | 2019-03-31 02:26:36 +0000 |
| commit | 696d78469f3714a8159f7a145af1fe9179fe3291 (patch) | |
| tree | d8fe6c5543a3b388d80e1ee087bd15035542ccff /src/include/optimizer | |
| parent | 737a292b5de296615a715ddce2b2d83d1ee245c5 (diff) | |
tableam: Move heap specific logic from estimate_rel_size below tableam.
This just moves the table/matview[/toast] determination of relation
size to a callback, and uses a copy of the existing logic to implement
that callback for heap.
It probably would make sense to also move the index specific logic
into a callback, so the metapage handling (and probably more) can be
index specific. But that's a separate task.
Author: Andres Freund
Discussion: https://postgr.es/m/20180703070645.wchpu5muyto5n647@alap3.anarazel.de
Diffstat (limited to 'src/include/optimizer')
| -rw-r--r-- | src/include/optimizer/plancat.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/optimizer/plancat.h b/src/include/optimizer/plancat.h index c556e0f2589..3254613e6e4 100644 --- a/src/include/optimizer/plancat.h +++ b/src/include/optimizer/plancat.h @@ -33,6 +33,7 @@ extern List *infer_arbiter_indexes(PlannerInfo *root); extern void estimate_rel_size(Relation rel, int32 *attr_widths, BlockNumber *pages, double *tuples, double *allvisfrac); +extern int32 get_rel_data_width(Relation rel, int32 *attr_widths); extern int32 get_relation_data_width(Oid relid, int32 *attr_widths); extern bool relation_excluded_by_constraints(PlannerInfo *root, |
