Hi,

I work on a driver for Postgres that utilizes the extended query protocol
and have a question about the row description message for interval types.

I am trying to use the type modifier value from the message to determine
the precision of the interval. This is something I can do for timestamp
types because the type modifier in the message is equal to the precision
(or -1 if not specified).

For interval types it seems like the type modifier is related to the
precision but the values are not equal. Using Postgres 13.10 I see the
following values for pg_attribute.attttypmod when creating columns of type
interval(1), interval(2), ..., interval(6)

 2147418113

 2147418114

 2147418115

 2147418116

 2147418117

 2147418118


I can see the value goes up by 1 each time the precision is increased, but
I'm not sure how to interpret the fact that it starts at  2147418113
instead of 1.

My question is: how are the values meant to be interpreted for interval
types? Thanks very much for your help.

Reply via email to