2016-01-04 18:14 GMT+01:00 Robert Haas <[email protected]>:
> On Mon, Jan 4, 2016 at 11:48 AM, Shulgin, Oleksandr
> <[email protected]> wrote:
> > On Mon, Jan 4, 2016 at 4:51 PM, Robert Haas <[email protected]>
> wrote:
> >>
> >> On Mon, Jan 4, 2016 at 10:17 AM, Pavel Stehule <[email protected]
> >
> >> 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
>