Albe Laurenz wrote:
> Sebastien FLAESCH wrote:
>> According to the doc, INTERVAL output format is controlled by
>> SET intervalstyle.
>>
>> I am writing an interface/driver and need a solution to
>> fetch/convert interval
>> values independently from the current format settings...
>>
>> I could force my driver to implicitly set the intervalstyle
>> to iso_8601, but I
>> would prefer to leave this in the hands of the programmer...
>>
>> Imagine you have to write and ODBC interface/driver with
>> libpq that must support
>> the SQLINTERVAL C structure, how would you deal with
>> PostgreSQL intervals?
>>
>> Is it possible to query the current intervalstyle?
>
> You can use "SHOW intervalstyle" to get the current setting.
>
> Would it be an option to use the to_char(interval, text)
> function to convert the interval value to a string you can
> understand? That would make you independent of server parameters.
>
> Another way to go is to retrieve the interval values
> in binary format. That would make you dependent on the
> setting of "integer_datetimes", but it might still be easier.
>
> Yours,
> Laurenz Albe
Thanks for the tip, I found SHOW after sending my initial mail.
I will however go by forcing a given intervalstyle in a first
time, this is not critical (I cannot use the internal binary
format).
My main concern now is to describe properly the type of interval
which is used in a SELECT list, with the PQfmod() and PQfsize()
libpq functions, I need some doc/spec here...
Thanks a lot!
Seb