Re: custom function for converting human readable sizes to bytes

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Vitaly Burovoy <vitaly(dot)burovoy(at)gmail(dot)com>
Cc: "Shulgin, Oleksandr" <oleksandr(dot)shulgin(at)zalando(dot)de>, Robert Haas <robertmhaas(at)gmail(dot)com>, Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com>, Corey Huinker <corey(dot)huinker(at)gmail(dot)com>, Guillaume Lelarge <guillaume(at)lelarge(dot)info>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: custom function for converting human readable sizes to bytes
Date: 2016-02-11 09:06:59
Message-ID: CAFj8pRBF91C_Xu=C9ew2jpq66q_7wHZgABfKRhfvHM1Uvaej=w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

2016-02-11 7:44 GMT+01:00 Vitaly Burovoy <vitaly(dot)burovoy(at)gmail(dot)com>:

> On 2/10/16, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> wrote:
> > Hi Vitaly,
> >
> > please, can you send your version of this patch, how we talked about it
> in
> > Moscow?
> >
> > Thank you
> >
> > Pavel
>
> Hello, Pavel!
>
> Please find attached my version of the patch (it applies cleanly on
> top of 64d89a9 which is current master).
>
> It is time to change oid. 3331 is used by "bytea_sortsupport", I set
> 3334 to "pg_size_bytes".
>
> I got a code design of numbers checking from json_lex_number in
> src/backend/utils/adt/json.c
> For me it seems more structured. I adapted it a little and it allows
> to add parsing an exponent (like '10е3 Mb') easily for full support of
> numeric (if sometimes it is necessary).
>

yes, it is better structured

>
> When I added "trimming" for size units (playing with avoiding an extra
> buffer), I found there is easy to support "bytes" unit (but "byte" is
> still unsupported).
>

I am little bit unsure about support the unit unsupported by GUC parser.
But for usage in custom space and for this current usage, it is acceptable.

>
>
> Also this version includes all changes I mentioned in my last review[1]:
> 1. parse_memory_unit returns value instead of using a pointer (return
> zero if noting is found) for it;
> 2. all messages are in a single style (nuances are in errdetails);
> 3. "select"s are in uppercase, rephrased and moved a comment block in test;
> 4. several tests are added (also with supporting of "bytes" unit);
> 5. a sentence in a documentation is rephrased (numeric->fixed-point
> number); "bytes" unit is added to both functions;
> 6. fixed indentation a little;
> 7. pfree is removed (it is easier than removing all other allocated
> resources).
>

ok, thank you

>
>
> I still think my changes are little and they are based on your work
> (and research).
>

thank you very much - but you refactoring is significant and helpful. I'll
reassign your version to opened commitfest.

Regards

Pavel

>
> [1]
> http://www.postgresql.org/message-id/CAKOSWNk13WVDem06LRo-HucR0pR6Et29+dvqY6J5sKxzarUbRw@mail.gmail.com
>
> --
> Best regards,
> Vitaly Burovoy
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2016-02-11 09:18:32 Re: custom function for converting human readable sizes to bytes
Previous Message Michael Paquier 2016-02-11 08:46:23 Re: Re: BUG #13685: Archiving while idle every archive_timeout with wal_level hot_standby