v0.18.1
Fixed
-
scaled_shapenow multiplies a projection'smax_rowsby the factor.
It passed aProjectionthrough untouched, which is right for its size --
that grows because the tables it reads did -- and wrong for a declared
ceiling, which is a number in the same units and did not move. A ceiling sized
for the world as written therefore refused every growth assertion, because
those build the same declaration at a larger factor.The consumer that asked for
max_rowsin 0.18.0 hit this on the first run:
10,000 declared against a world of 3,188 rows, and 29,078 at factor 10.Multiplying is the arithmetic rather than an approximation of one, and the
reason is the same one that makes the size need no factor: every table scales,
parents included, so a parent has the same number of children at every factor
and the projection is a sum overfactortimes as many parents of an
unchanged per-parent product.A declaration with no ceiling is still passed through by identity.