Prior to this commit all objects in the Collection data structures
were boxed in an Go interface{} which adds an extra 8 bytes per
object and requires assertion to unbox.
Go 1.18, released early 2022, introduced generics, which allows
for storing the objects without boxing. This provides a extra
boost in performance and lower in-memory footprint.
This commit updates to the latest btree and rtree.
The rtree algorithm has been modified in `tidwall/rtree@v1.7`
which now keeps internal and leaf rect sorted by the min-x
coordinate. This make for much faster (up to 50%) faster
searches and replacements, but slightly slower inserts.
Because of the R-tree update, the tests needed to be updated to
account for the change in order for undeterministic WITHIN and
INTERSECTS commands.
?ssl=true previously would require the user to provide a cacertfile
stripping the option to use the hosts ca set.
bumping sarama to version 1.36.0
bumping alpine to 3.16.2
fix: tls path
Each MATCH is inclusive OR, thus
WITHIN fleet MATCH train* truck* BOUNDS 33 -112 34 -113
will find all trains and trucks that within the provides bounds.
The returned distance value for the kNN test was failing on a
Apple M1 machine. The test expected a hardcoded value.
amd64: 13053.885940801563
apple: 13053.885940801567
Not sure why the difference between the two cpus but I changed
the test to not compare for exact equality.
This commit fixes an issue where Tile38 will fail to start
because the AOF file contains a partially written command, which
is caused by the server not having enough disk space to complete
the previous write.
This was discovered and reported by a Theresa D on the Tile38
Slack channel.
The new -x flag allows for passing large objects from STDIN.
tile38-cli -x SET cities tempe OBJECT </path/to/file.geojson
See #634 for more information