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:
/docs/10/static/sql-syntax-calling-funcs.html
Cheers,
Seb
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? |