Re: custom function for converting human readable sizes to bytes
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: "Shulgin, Oleksandr" <oleksandr.shulgin@zalando.de>,
Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>,
Alvaro Herrera <alvherre@2ndquadrant.com>,
Tom Lane <tgl@sss.pgh.pa.us>, Jim Nasby <Jim.Nasby@bluetreble.com>,
Corey Huinker <corey.huinker@gmail.com>,
Guillaume Lelarge <guillaume@lelarge.info>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2016-01-04T17:24:35Z
Lists: pgsql-hackers
2016-01-04 18:14 GMT+01:00 Robert Haas <robertmhaas@gmail.com>:
> On Mon, Jan 4, 2016 at 11:48 AM, Shulgin, Oleksandr
> <oleksandr.shulgin@zalando.de> wrote:
> > On Mon, Jan 4, 2016 at 4:51 PM, Robert Haas <robertmhaas@gmail.com>
> wrote:
> >>
> >> On Mon, Jan 4, 2016 at 10:17 AM, Pavel Stehule <pavel.stehule@gmail.com
> >
> >> wrote:
> >> > [ new patch ]
> >>
> >> + case '-':
> >> + ereport(ERROR,
> >> + (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
> >> + errmsg("size cannot be negative")));
> >>
> >> Why not? I bet if you copy any - sign to the buffer, this will Just
> Work.
> >
> >
> > I'm also inclined on dropping that explicit check for empty string below
> and
> > let numeric_in() error out on that. Does this look OK, or can it confuse
> > someone:
> >
> > postgres=# select pg_size_bytes('');
> > ERROR: invalid input syntax for type numeric: ""
>
> I think that's a pretty bad error message. I mean, the user is
> calling a function that takes text as an input data type. So, where's
> numeric involved?
>
last version is little bit better
postgres=# select pg_size_bytes('');
ERROR: 22023: "" is not number
>
> I'm also kind of wondering what the intended use case for this
> function is. Why do we want it? Do we want it?
>
> --
> Robert Haas
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
Commits
-
Add pg_size_bytes() to parse human-readable size strings.
- 53874c5228fe 9.6.0 landed
-
Refactor check_functional_grouping() to use get_primary_key_attnos().
- f144f73242ac 9.6.0 cited
-
Correct comment in GetConflictingVirtualXIDs()
- 1129c2b0ad27 9.6.0 cited
-
Make extract() do something more reasonable with infinite datetimes.
- 647d87c56ab6 9.6.0 cited
-
pg_size_pretty: Format negative values similar to positive ones.
- 8a1fab36aba7 9.6.0 cited
-
pg_size_pretty(numeric)
- 4a2d7ad76f5f 9.2.0 cited