Re: Type scale returned by PQfmod() 65531 for time/timestamp output parameter?

From: Sebastien FLAESCH <sf(at)4js(dot)com>
To: pgsql-interfaces(at)lists(dot)postgresql(dot)org
Subject: Re: Type scale returned by PQfmod() 65531 for time/timestamp output parameter?
Date: 2018-02-16 08:56:05
Message-ID: f80e250d-b13f-0852-2a11-03218588092f@4js.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

On 02/15/2018 05:25 PM, Tom Lane wrote:
> Sebastien FLAESCH <sf(at)4js(dot)com> writes:
>> When using a stored function returning output parameters defined with as time[(n)]
>> or timestamp[(n)], PQfmod() always returns the same SCALE (65531/0xFFFB), no matter
>> what time/timestamp precision is used.
>
> Your misunderstanding is in assuming that typmod decoration on function
> parameters means anything. It doesn't; the function is effectively just
> declared as taking or returning plain time or timestamp.
>
> Perhaps someday that will change, but it'd be a big task with a lot of
> hard decisions to make. For instance, do we allow creation of both
> f(time(2)) and f(time(4)), and if so what's the rule for choosing which
> one to call?
>
> regards, tom lane
>
>

Thanks for this quick answer Tom,

I just wanted to make sure that this is expected.

We can deal with this, by interpreting 65531/0xFFFB as a precision of 5 to match our needs.

Would be nice however to have some clear documentation about PQfmod() interpretation...
What means exactly 65531/0xFFFB?
Unknown time/timestamp fraction of sec precision?

Maybe the way stored function output parameters are returned could be reviewed?

select * from proc240(101)

Is it possible to cast() output parameters?

I could not find information about using output parameters in:

https://www.postgresql.org/docs/10/static/sql-syntax-calling-funcs.html

Cheers,
Seb

In response to

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Tom Lane 2018-02-16 15:15:52 Re: Type scale returned by PQfmod() 65531 for time/timestamp output parameter?
Previous Message Tom Lane 2018-02-15 16:25:40 Re: Type scale returned by PQfmod() 65531 for time/timestamp output parameter?