From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
Cc: | Bruce Momjian <bruce(at)momjian(dot)us>, Mohsen SM <mohsensoodkhah(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: typemode for variable types |
Date: | 2014-02-24 20:34:13 |
Message-ID: | 9068.1393274053@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Alvaro Herrera <alvherre(at)2ndquadrant(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2014-02-24 20:44:52 | Re: Another possible corruption bug in 9.3.2 or possibly a known MultiXact problem? |
Previous Message | Jeff Janes | 2014-02-24 20:31:57 | Re: often PREPARE can generate high load (and sometimes minutes long unavailability) |