Looks like you committed this before I got to it - moa is green, so I guess it works.
Thanks. On Thursday, April 28, 2011, Tom Lane <t...@sss.pgh.pa.us> wrote: > Please see if the attached version works. > > regards, tom lane > > > Datum > pg_size_pretty(PG_FUNCTION_ARGS) > { > int64 size = PG_GETARG_INT64(0); > char buf[64]; > int64 limit = 10 * 1024; > int64 limit2 = limit * 2 - 1; > > if (size < limit) > snprintf(buf, sizeof(buf), INT64_FORMAT " bytes", size); > else > { > size >>= 9; /* keep one extra bit > for rounding */ > if (size < limit2) > snprintf(buf, sizeof(buf), INT64_FORMAT " kB", > (size + 1) / 2); > else > { > size >>= 10; > if (size < limit2) > snprintf(buf, sizeof(buf), INT64_FORMAT " MB", > (size + 1) / 2); > else > { > size >>= 10; > if (size < limit2) > snprintf(buf, sizeof(buf), > INT64_FORMAT " GB", > (size + 1) / 2); > else > { > size >>= 10; > snprintf(buf, sizeof(buf), > INT64_FORMAT " TB", > (size + 1) / 2); > } > } > } > } > > PG_RETURN_TEXT_P(cstring_to_text(buf)); > } > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers