Subject Re: [Firebird-Architect] Spatial extension
Author Jim Starkey
Firebird index keys are heavily mulched so they can be compressed and still compared bytewise.  Spatial indexes are generally based on enclosed rectangles.  I doubt there is any commonality, so you'd be pretty much starting from scratch.  The on-disk structure does provide for an open ended set of index types (or did after I blew it the first time).

A likely hard problem with spatial indexes in Firebird is bucket splits, which are closer to re-organizations than simple B-tree bucket splits.  Doing spatial index splits while preserving careful write would be very, very tricky, but probably not impossible.

Another part of the problem is support for spatial types usually engenders taking on a gigantic GIS standard and associated library.  So while spatial types and indexes are nice and good, without full support for the standard, probably not all that useful.

On 3/1/2014 2:49 PM, Godofredo Contreras wrote:


I am interested in creating a spatial extension for Firebird and I would like to know how to extend the data types and how to create new index types.

I was looking for information about how to extend Firebird but I couldn´t find anything apart from extending it using UDFs. Could you please point to the correct sources of information?

Thank you,