627 Commits

Author SHA1 Message Date
Josh Baker
e3a09d7469 separate bboxes for multipolygon 2018-03-07 13:18:25 -07:00
Evgeniy Kulikov
f5d78c908c
[FIX] Makefile clean must remove and tile38-luamemtest 2018-03-07 17:51:06 +03:00
Josh Baker
c8353a18b2 aint tests 2018-03-06 22:07:38 -07:00
Josh Baker
dc30f35646 safe atomic ints for rpi3, #269 2018-03-06 22:02:38 -07:00
Josh Baker
82197faea0
Merge pull request #270 from EdwardBetts/patch-1
Correct a spelling mistake.
2018-03-06 16:04:29 -07:00
Josh Baker
835a703625
Merge pull request #273 from samuelbosch/patch-1
fix small typo in README
2018-03-06 16:04:15 -07:00
Samuel
a52373c797
fix small typo 2018-03-06 17:16:31 +01:00
Josh Baker
445fd06185 add attribute for rbush port 2018-03-06 07:18:11 -07:00
Edward Betts
1381e68c69
Correct a spelling mistake. 2018-03-06 05:19:50 +00:00
Josh Baker
19f53a61ba 1.11.0 2018-03-05 11:21:04 -07:00
Josh Baker
7538cc73ff avoid recover calls for non-lua queries
The defer recover() pattern is expensive and only Lua queries require
it, so for now we'll just check if lua is being used before calling.
2018-03-05 11:10:40 -07:00
Josh Baker
3568edf44c avoid bbox intersect for non-bbox objects 2018-03-05 09:00:14 -07:00
Josh Baker
bce78028bb minor code cleanup 2018-03-05 08:27:18 -07:00
Alex Roitman
9ffca9aa10 Tests and commands.json for WHEREEVAL. 2018-02-15 16:42:07 -08:00
Alex Roitman
29f4737e5d Add WHEREEVAL clause to scan/search commands. 2018-02-15 11:08:27 -08:00
Josh Baker
2088b5d2d2
Merge pull request #254 from rshura/fset_maxmemory
Add maxmemory protection to FSET
2018-01-30 11:17:13 -07:00
Josh Baker
c62975b505 clear expires on reset, #258 2018-01-30 10:30:03 -07:00
Alex Roitman
47132af474 Add maxmemory protection to FSET 2018-01-23 15:54:10 -08:00
Josh Baker
e1fe83c54c 1.10.1 2018-01-17 21:05:12 -07:00
Josh Baker
dc1cc76247 better multipolygon detection 2018-01-15 13:15:34 -07:00
Josh Baker
3bdcfd10da fix update version pattern 2018-01-15 11:06:15 -07:00
Josh Baker
8a4ccc8e99 Fix server crash when receiving zero arg commands.
fix #246
2018-01-15 10:53:08 -07:00
Josh Baker
1f70cb4e75 Precalculate and store bboxes for complex objects
This should increase the performance for most search operations such as
WITHIN, INTERSECTS, and NEARBY when dealing with complex polygons.
Geofencing should see a increase in throughput when dealing with a high
frequency of point -> polygon detection.

Addresses #245
2018-01-11 13:57:18 -07:00
Josh Baker
44a6acf107 fix CHANGELOG 2017-12-18 10:18:45 -07:00
Josh Baker
206f4996e2 1.10.0 2017-12-18 10:10:17 -07:00
Josh Baker
5b5e589be3 point match on interior hole, fixes #241 2017-12-18 08:37:03 -07:00
Josh Baker
02fa605dc4
Merge pull request #237 from rshura/shrink_fix
Flush to file periodically
2017-12-13 16:46:52 -07:00
Alex Roitman
aa462f39cc Typos in the comments 2017-12-12 13:05:22 -08:00
Alex Roitman
28aebe856f Flush to file periodically 2017-12-11 16:12:15 -08:00
Josh Baker
5945ae2a68
Merge pull request #235 from rshura/lua_json
Add json library (encode/decode methods) to lua.
2017-11-22 10:07:06 -07:00
Alex Roitman
3fa209b1c0 Add json library (encode/decode methods) to lua. 2017-11-20 14:21:21 -08:00
Josh Baker
89662d9c89 update FSET args 2017-11-16 18:19:07 -07:00
Josh Baker
fb6c29203b Merge branch 'fset_multi_xx' of https://github.com/rshura/tile38 into rshura-fset_multi_xx 2017-11-16 18:06:40 -07:00
Alex Roitman
2a5e760cee Update commands.json for new fset 2017-11-10 14:58:51 -08:00
Alex Roitman
a3bf8b6572 Tweak multi-field fset to return the count of updated fields 2017-11-10 14:31:38 -08:00
Josh Baker
f99273c4c3
Merge pull request #231 from rshura/try_nearby_fix
Fix NEARBY to filter where clauses prior to limiting.
2017-11-10 13:15:28 -07:00
Alex Roitman
79acc0efe5 Allow setting multiple fields in a single fset command. Add xx flag to fset. 2017-11-03 11:50:03 -07:00
Alex Roitman
1084c60805 Apply limit on top of cursor 2017-10-31 09:48:17 -07:00
Alex Roitman
4eca0cdee7 Attempt to fix NEARBY to filter prior to limiting. 2017-10-30 16:01:37 -07:00
Josh Baker
8b06aedf73 fix pipeline corruption 2017-10-18 17:32:45 -07:00
Josh Baker
a3d1c08c63 Merge pull request #229 from rshura/compound_commands
Support script_load and script_flush as separate tokens too.
2017-10-17 05:15:49 -07:00
Alex Roitman
f572b14a2e Support script_load and script_flush as separate tokens too. 2017-10-12 16:57:28 -07:00
Alex Roitman
d0a510d9ff Prohibit creation of new globals in scripts (#227) 2017-10-06 07:32:04 -07:00
Josh Baker
5753f3dc43 updated vendor for aws 2017-10-05 15:31:53 -07:00
Josh Baker
4d79f3973c updated commands.json 2017-10-05 15:05:12 -07:00
Alex Roitman
abffd5ce74 Lua (#226)
* Typos
2017-10-05 15:03:50 -07:00
Alex Roitman
bfa4bbe237 Lua (#225)
* Add periodic pruning of the lua state pool
2017-10-05 14:13:02 -07:00
Lenny Hartmann
d6fe2eec96 Sqs endpoint (#221)
* test

* undo test

* Added aws SQS endpoint

* Added aws vendor

* Bug fixes

* enabled NOCOPY in build.sh
2017-10-05 14:08:03 -07:00
Alex Roitman
b55300b729 Lua scripting feature. (#224)
* Start on lua scripting

* Implement evalsha, script load, script exists, and script flush

* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.

* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.

* First stab at tile38 call from lua

* Change tile38 into tile38.call in Lua

* Property return errors from scripts

* Minor refactoring.  No locking on script run

* Cleanup/refactoring

* Create a pool of 5 lua states, allow for more as needed. Refactor.

* Use safe map for scripts.  Add a limit for max number of lua states.  Refactor.

* Refactor

* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts

* More tests for scripts

* Properly escape newlines in lua-produced errors

* Better test for readonly failure

* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.

* Add pcall test. Change writeErr to work with string argument

* Make sure eval/evalsha never attempt to write AOF

* Add eval-set and eval-get to benchmarks

* Fix eval benchmark tests, add more

* Improve benchmarks

* Optimizations and refactoring.

* Add lua memtest

* Typo

* Add dependency

* golint fixes

* gofmt fixes

* Add scripting commands to the core/commands.json

* Use ARGV for args inside lua
2017-10-05 08:20:40 -07:00
Josh Baker
26d0083faf Update vendoring to use golang/dep
commit a1a37d335a8e89ac89d85c00c8585d3fc02e064a
Author: Josh Baker <joshbaker77@gmail.com>
Date:   Thu Oct 5 07:36:54 2017 -0700

    use symlink instead of copy

commit 96399c2c92620f633611c778e5473200bfd48d41
Author: Josh Baker <joshbaker77@gmail.com>
Date:   Thu Oct 5 07:19:26 2017 -0700

    use dep for vendoring
2017-10-05 07:40:19 -07:00