Re: BUG #1517: SQL interval syntax is accepted by the parser,

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: BUG #1517: SQL interval syntax is accepted by the parser,
Дата
Msg-id 200503240339.j2O3dRh06332@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re: BUG #1517: SQL interval syntax is accepted by the parser,  (Roy Badami <roy@gnomon.org.uk>)
Ответы Re: BUG #1517: SQL interval syntax is accepted by the parser,  (Roy Badami <roy@gnomon.org.uk>)
Список pgsql-bugs
Roy Badami wrote:
>     Roy> The 'constraint' (interval type descriptor or whatever it's
>     Roy> really called) is mandatory in standard SQL, I think, so
>     Roy> there's no ambiguity anyway, unless anyone is using this
>     Roy> undocumented syntax at the moment...
>
> Incidentally, this was the ratinale behind my earlier suggestion, that:
>
>  * if the interval type descriptor is absent, parse the interval as a
>    traditional postgres interval
>
>  * if the interval type descriptor is present, parse the interval according
>    to the standard syntax
>
> I have no objection to allowing things like
>
>    '1 hour 10 minutes' DAY TO SECOND
>
> but I'm just wondering whether the hybrid syntax is an unnecessary
> complication.

Added to TODO:

        o For syntax that isn't uniquely ISO or PG syntax, like '1:30' or
          '1', treat as ISO if there is a range specification clause,
          and as PG if there no clause is present, e.g. interpret '1:30'
          MINUTE TO SECOND as '1 minute 30 seconds', and interpret '1:30'
          as '1 hour, 30 minutes'

This brings up the issue of how we are to output interval values.
Currently we do:

    test=> select interval '1 hour 1 minute';
     interval
    ----------
     01:01:00
    (1 row)

and

    test=> select interval '1 hour 1 second' hour to minute;
     interval
    ----------
     01:00:00
    (1 row)

so I think we are OK because we don't output ambiguous syntax.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: BUG #1517: SQL interval syntax is accepted by the parser,
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: BUG #1518: Conversions to (undocumented) SQL year-month and