Commit Graph

1397 Commits

Author SHA1 Message Date
tidwall 9093926135 Limit geohash precision to 12 2020-08-12 10:58:49 -07:00
tidwall 25a954a6aa Merge branch 'superloach-master' 2020-08-12 10:57:49 -07:00
Terra Brown 9202fd0206
s/64/12/ 2020-08-11 18:11:06 -04:00
tidwall f23b46cfc0 Hotfix for previous commit 2020-07-04 10:35:07 -07:00
tidwall f3622c3756 Fixed wrong order for fields with SCAN
This commit fixes an issue that happens when running SCAN on a
collection that has objects with fields, causing field values
to be mismatched with their respective keys.

This only occured with json output, and is a regression from #534.

Fixes #569
2020-07-04 10:12:06 -07:00
tidwall 68e2b6d736 Updated Kafka version 2020-07-03 11:57:15 -07:00
tidwall 712da8aefa Updated Kafka client 2020-06-24 14:20:22 -07:00
Josh Baker 6629eba8bf
Merge pull request #566 from larsw/larsw/fencing-crash-fix
Fix crash in fenceMatchRoam causing an index out of range panic
2020-06-24 09:48:44 -07:00
Lars Wilhelmsen 4fdbade7a4
Fix crash in fenceMatchRoam causing an index out of range panic 2020-06-18 15:43:18 +02:00
tidwall c1ba2d86aa 1.21.1 2020-06-04 13:01:30 -07:00
tidwall b7978f2cf4 Fix OUTPUT client command requiring authentication
This commit fixes an issue where the OUTPUT command requires
authentication when a server password has been set with
CONFIG SET requirepass. This was causing problems with clients
that use json responses, like the tile38-cli.

Fixes #564
2020-06-04 12:57:23 -07:00
b3q b2cf3c7f11
Update README.md (Go client) 2020-06-04 01:19:18 +05:00
Mads Schou-Andreasen cf757802a3 fixed default credentials 2020-05-30 10:26:25 +02:00
tidwall 9c6be0f78e 1.20.0 2020-05-20 15:28:07 -07:00
Mads Schou-Andreasen 846386c7ff Revert "gitlab fixes"
This reverts commit 8ae46dfda3.
2020-05-20 00:27:20 +02:00
Mads Schou-Andreasen 3bfd188c9c Revert "gitlab fixes 2"
This reverts commit 464d7845ea.
2020-05-20 00:27:16 +02:00
Mads Schou-Andreasen 464d7845ea gitlab fixes 2 2020-05-20 00:13:40 +02:00
Mads Schou-Andreasen 8ae46dfda3 gitlab fixes 2020-05-20 00:06:08 +02:00
Mads Schou-Andreasen bff11ad0ae minor documentation fix 2020-05-19 17:24:06 +02:00
Mads Schou-Andreasen 37224791f4 added geofence webhook for GCP Pubsub 2020-05-19 17:11:31 +02:00
tidwall 3718cd766b Added priority option for AMQP endpoints 2020-05-16 14:31:52 -07:00
tidwall 70cd167fc0 Fixed clip test #558 2020-05-03 09:59:49 -07:00
Alex Roitman 25579a052c Fix a bug in WHEREIN -- 0 values would always match, incorrectly. 2020-04-12 16:06:10 -07:00
Alex Roitman 914f51de11 Fixes 2020-04-09 09:59:24 -07:00
Alex Roitman fe0216c42c Restore previous behavior where non-existing fields are treated as zero-value. 2020-04-09 09:54:47 -07:00
Alex Roitman f3cc365d24 Pre-allocate where and wherein arrays. 2020-04-09 09:36:12 -07:00
Alex Roitman 1dd1af268a Fix clip test after geoOptions change. 2020-04-08 14:26:27 -07:00
Mike Poindexter 042582aef3 Update comment 2020-04-08 11:38:12 -07:00
Mike Poindexter fe6e3863ba Add bench tests for knn 2020-04-08 11:36:37 -07:00
Mike Poindexter 2a4272c95f Improve kNN behavior
The current KNN implementation has two areas that can be improved:

- The current behavior is somewhat incorrect. When performing a kNN
query, the current code fetches k items from the index, and then sorts
these items according to Haversine distance. The problem with this
approach is that since the items fetched from the index are ordered by
a Euclidean metric, there is no guarantee that item k + 1 is not closer
than item k in great circle distance, and hence incorrect results can be
returned when closer items beyond k exist.

- The secondary sort is a performance killer. This requires buffering
all k items (again...they were already run through a priority queue in)
the index, and then a sort. Since the items are mostly sorted, and
Go's sort implementation is a quickSort this is the worst case for the
sort algorithm.

Both of these can be fixed by applying a proper distance metric in
the index nearby operation. In addition, this cleans up the code
considerably, removing a number of special cases that applied only
to NEARBY operations.

This change implements a geodetic distance metric that ensures that
the order from the index is correct, eliminating the need for the
secondary sort and special filtering cases in the ScanWriter code.
2020-04-07 20:10:58 -07:00
Alex Roitman 34cb2affdc Add clipby subcommand to INTERSECTS/WITHIN 2020-04-03 16:49:06 -07:00
Josh Baker f02dee3db2
Merge pull request #545 from tidwall/index-kind-geometry-nooverride
Match geometry indexing to server config
2020-04-02 08:15:38 -07:00
Josh Baker 12a98c53e4
Merge pull request #543 from rshura/fix-clip-empty-rings
Skip empty rings when clipping polygons.
2020-04-02 08:15:14 -07:00
tidwall 951fc58e02 Match geometry indexing to server config 2020-03-25 15:35:31 -07:00
Alex Roitman d5132a9eae Map field names to array indices in scanwriter, once per query. 2020-03-25 15:15:06 -07:00
Alex Roitman 9e7766b346 Array of values instead of map for whereins. 2020-03-25 15:14:51 -07:00
Alex Roitman 27c6980f82 Copy array and only loop if we need to pad. 2020-03-25 15:14:37 -07:00
tidwall b3dc025545 Optimize point in ring 2020-03-25 15:07:14 -07:00
Alex Roitman 91ef777771 Add benchmark for fieldMatch. 2020-03-25 14:49:21 -07:00
tidwall 5162ac5fd7 Stable sort roam notifications 2020-03-25 13:01:11 -07:00
tidwall a99df2892a Fixed false faraway notifications 2020-03-25 12:47:55 -07:00
Mike Poindexter 625a83f81e Add scan benchmark, with/without fields benchmarks 2020-03-25 11:09:50 -07:00
Mike Poindexter 9a5d608c21 Switch field storage to an array vs map 2020-03-25 10:24:02 -07:00
Alex Roitman c4b1dd3a72 Skip empty rings when clipping polygons.
Add a test for skipping empty rings.
2020-03-23 16:11:46 -07:00
tidwall cd70a3d2af Update to Go 1.14 2020-03-22 13:14:08 -07:00
tidwall ff48054d3d Fixed a missing faraway event for roaming geofences
This commit fixes a case where a roaming geofence will not fire
a "faraway" event when it's supposed to.

The fix required rewriting the nearby/faraway detection logic. It
is now much more accurate and takes overall less memory, but it's
also a little slower per operation because each object proximity
is checked twice per update. Once to compare the old object's
surrounding, and once to evaulated the new object. The two lists
are then used to generate accurate "nearby" and "faraway" results.
2020-03-22 11:54:56 -07:00
tidwall b482206894 Minimize sorting of collection fields 2020-03-22 07:58:03 -07:00
Josh Baker 0997f2e82b
Merge pull request #534 from rshura/optimize-scanwriter
Avoid sorting fields for each written object.
2020-03-22 06:33:33 -07:00
Josh Baker 77d33df542
Merge pull request #541 from tidwall/missing-key-field
Fixed DEL geofence notifications missing "key" field
2020-03-21 18:22:54 -07:00
tidwall 65943e8f1a Fixed DEL geofence notifications missing "key" field
Closed #538
2020-03-21 17:48:31 -07:00