On Tue, Dec 22, 2015 at 12:11 AM, Robert Haas <robertmh...@gmail.com> wrote: > On Sun, Dec 20, 2015 at 4:54 AM, Pavel Stehule <pavel.steh...@gmail.com> > wrote: >> new update: >> >> 1. unit searching is case insensitive >> >> 2. initial support for binary byte prefixes - KiB, MiB, .. (IEC standard), >> change behave for SI units >> >> Second point is much more complex then it is looking - if pg_size_bytes >> should be consistent with pg_size_pretty. >> >> The current pg_size_pretty and transformations in guc.c are based on JEDEC >> standard. Using this standard for GUC has sense - using it for object sizes >> is probably unhappy. >> >> I tried to fix (and enhance) pg_size_pretty - now reports correct units, and >> via second parameter it allows to specify base: 2 (binary, IEC - default) >> or 10 (SI). > > -1 from me. I don't think we should muck with the way pg_size_pretty works.
Yeah. + static const unit_multiplier unit_multiplier_table[] = + { + {"B", 1L}, + {"kiB", 1024L}, + {"MiB", 1024L * 1024}, + {"GiB", 1024L * 1024 * 1024}, + {"TiB", 1024L * 1024 * 1024 * 1024}, + {"PiB", 1024L * 1024 * 1024 * 1024 * 1024}, This is rather close to memory_unit_conversion_table in guc.c. Would it be worth refactoring those unit tables into something more generic instead of duplicating them? -- Michael -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers