R-Tree implementation using GiST (compatible with multi-key GiST)

Started by Oleg Bartunovover 24 years ago2 messages
#1Oleg Bartunov
oleg@sai.msu.su

Full implementation of R-Tree using GiST is available from
http://www.sai.msu.su/~megera/postgres/gist/

CHANGES:
Mon May 28 19:42:14 MSD 2001

1. Full implementation of R-tree using GiST - gist_box_ops,gist_poly_ops
2. gist_poly_ops is lossy
3. NULLs support
4. works with multi-key GiST

NOTICE:
This version will works only with postgresql version 7.1 and above
because of changes in interface of function calling.

Tom, implementation of gist_poly_ops has a workaround of discussed problem -
we store in first field the length of key in bytes). As soon as we find
a solution we'll change this.

From my message;
compress fully supports fixed-length and varlena types. The problem is
index_formtuple - types of key and column could be different
(example - polygon, where column has varlena type but key is fixed-length)
As a workaround one could use the samy type for key and column.
1st integer field in strcuture BOX3D should be length of this structure
in bytes.

Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Oleg Bartunov (#1)
Re: R-Tree implementation using GiST (compatible with multi-key GiST)

Oleg Bartunov <oleg@sai.msu.su> writes:

Full implementation of R-Tree using GiST is available from
http://www.sai.msu.su/~megera/postgres/gist/

Committed as a contrib module.

At some point we'll probably want to move this into the mainframe,
but I left it as a separate package for now.

regards, tom lane