Tom Lane wrote:
> Eric Davies <eric@barrodale.com> writes:
>
>>We've looked at the contrib/cube code, but it's also a variable length
>>parameter, and it uses a very different parameter passing mechanism.
>
>
> Different how? I have a hard-to-pin-down intuition that your problem is
> closely associated with this issue, but without details it's impossible
> to say more. IIRC there were once assumptions in rtree and/or gist
> about the indexable datatype being pass-by-ref and/or varlena, and I'm
> not sure how much of that has been fixed.
contribs rtree_gist, btree_gist and seg uses pass-by-ref fixed length value for
storage, and there isn't such problem.
It seems to me, the problem may be in union or picksplit methods, but I needs
more info.
I advice to play with gevel module (
http://www.sai.msu.su/~megera/postgres/gist/gevel/README.gevel,
http://www.sai.msu.su/~megera/postgres/gist/gevel/gevel.tar.gz
)
--
Teodor Sigaev E-mail: teodor@sigaev.ru