>>> Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com> wrote:
> It seems to me that the last remaining place where we input
> a SQL-2008 standard literal and do something different from
> what the standard suggests is with the string:
> '-1 2:03:04'
> The standard seems to say that the "-" affects both the
> days and hour/min/sec part;
Agreed.
> while PostgreSQL historically,
> and the patch as I first submitted it only apply the negative
> sign to the days part.
>
> IMHO when the IntervalStyle GUC is set to "sql_standard",
> it'd be better if the parsing of this literal matched the
> standard. We already have the precedent where DateStyle
> is used to interpret otherwise ambiguous output.
>
> If the IntervalStyle is set to anything other than sql_standard
> we'll keep parsing them the old way; so I think backwards
> compatibility issues would be minimized. And those
> using the sql_standard mode are likely to be standards
> fanatics anyway, and would probably appreciate following the
> standard rather than the backward compatible mode.
>
> Thoughts?
I think it would be good to be able to configure PostgreSQL such that
it didn't take standards-compliant literals and silently treat them in
a non-standard way. What you propose here seems sane to me, but if
someone objects, it would be good for some other value or other GUC to
provide compliant behavior.
-Kevin