On Fri, Jun 21, 2013 at 3:20 AM, Craig Ringer <cr...@2ndquadrant.com> wrote:
> On 06/21/2013 05:32 PM, Hitoshi Harada wrote: > > > I also later found that we are missing not only notion of '+' or '-', > > but also notion of 'zero value' in our catalog. Per spec, RANGE BETWEEN > > needs to detect ERROR if the offset value is negative, but it is not > > always easy if you think about interval, numeric types as opposed to > > int64 used in ROWS BETWEEN. > > Zero can be tested for with `val = (@ val)` ie `val = abs(val)`. That > should make sense for any type in which the concept of zero makes sense. > > > Yeah, I mean, it needs to know if offset is negative or not by testing with zero. So we need "zero value" or "is_negative function" for each type. Thanks, -- Hitoshi Harada