Re: Type scale returned by PQfmod() 65531 for time/timestamp output parameter? - Mailing list pgsql-interfaces

From Tom Lane
Subject Re: Type scale returned by PQfmod() 65531 for time/timestamp output parameter?
Date
Msg-id 21465.1519238190@sss.pgh.pa.us
Whole thread Raw
In response to Re: Type scale returned by PQfmod() 65531 for time/timestamp outputparameter?  (Sebastien FLAESCH <sf@4js.com>)
Responses Re: Type scale returned by PQfmod() 65531 for time/timestamp outputparameter?  (Sebastien FLAESCH <sf@4js.com>)
List pgsql-interfaces
Sebastien FLAESCH <sf@4js.com> writes:
> On 02/20/2018 03:39 PM, Tom Lane wrote:
>> Like I said before, it's datatype-specific and you need to look at the
>> typmodin/typmodout support functions for each type to see what they do.

> Are you suggesting me to dig into the PostgreSQL server sources / internals?

Yup.

> Any starting point I should look at?

regression=# select distinct typmodout from pg_type where typmodout != 0;
      typmodout       
----------------------
 intervaltypmodout
 timestamptypmodout
 timestamptztypmodout
 timetypmodout
 timetztypmodout
 bpchartypmodout
 varchartypmodout
 numerictypmodout
 bittypmodout
 varbittypmodout
(10 rows)

I think all of those are under src/backend/utils/adt/ in the sources.
Briefly their charter is to produce the textual representation of a
typmod value for the data type, or an empty string if there's no typmod
constraint.  Although in principle code outside the datatype shouldn't
assume anything at all about the encoding of typmod, there's a widespread
assumption that all negative values (not just -1) mean "no constraint".

            regards, tom lane


pgsql-interfaces by date:

Previous
From: Sebastien FLAESCH
Date:
Subject: Re: Type scale returned by PQfmod() 65531 for time/timestamp outputparameter?
Next
From: Sebastien FLAESCH
Date:
Subject: Re: Type scale returned by PQfmod() 65531 for time/timestamp outputparameter?