Re: Strange interval arithmetic
- From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
- To: Michael Fuhr <mike(at)fuhr(dot)org>
- Cc: Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
- Subject: Re: Strange interval arithmetic
- Date: Wed, 30 Nov 2005 17:20:54 -0500
- Message-id: <1653(dot)1133389254(at)sss(dot)pgh(dot)pa(dot)us>
Michael Fuhr <mike(at)fuhr(dot)org> writes:
> errno = 0;
> val = strtol(field[i], &cp, 10);
> if (errno == ERANGE)
> return DTERR_FIELD_OVERFLOW;
> Does that look okay? Or would you rather raise an error with ereport()?
Looks fine to me, at least in the routines that are for datetime stuff.
> I'm looking at all the strtol() calls in datetime.c right now; I
> haven't looked anywhere else yet. Should I bother checking values
> that will be range checked later anyway? Time zone displacements,
> for example?
Good question. Is strtol guaranteed to return INT_MAX or INT_MIN on
overflow, or might it return the overflowed value?
regards, tom lane
Home |
Main Index |
Thread Index