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?