Re: typemode for variable types - Mailing list pgsql-hackers

From Greg Stark
Subject Re: typemode for variable types
Date
Msg-id CAM-w4HMcShT0-mr06vzqTLNUJ76=h0mpdJBaCSEJ7sPfb0hAHg@mail.gmail.com
Whole thread
In response to Re: typemode for variable types  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers

Also keep in mind that the system doesn't always retain the typmod. So the datum should be possible to interpret without the typmod.  Incidental effects such as length limits or precision displayed are ok but the meaning shouldn't be changed.

--
greg

On 24 Feb 2014 20:34, "Tom Lane" <tgl@sss.pgh.pa.us> wrote:
Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> Bruce Momjian escribió:
>> Well, typmods are type-specific, so there is no official way to
>> calculate it.  I would look at how an existing type uses typmod and copy
>> that.

> Our system is pretty neat.  See a complex example here:
> https://github.com/postgis/postgis/blob/svn-trunk/postgis/gserialized_typmod.c

One other point is that if you do consult the varchar functions as
an example, be aware that there's an offset of 4 in their definition
of the typmod (eg, for varchar(3) the stored typmod is 7).  This is
entirely for legacy reasons so there's no good reason to duplicate it
in a new custom-made type.  Except for the rule that negative values
mean "unspecified typmod" (which you have to support), you can
define the contents of the typmod value however you want.

                        regards, tom lane


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

pgsql-hackers by date:

Previous
From: Florian Pflug
Date:
Subject: Re: [PATCH] Negative Transition Aggregate Functions (WIP)
Next
From: Daniel Vázquez
Date:
Subject: Re: Same double precision operations, different results