ddd81d5 | Huston Bokinsky | 31 August 2016, 16:16:03 UTC | Add unexported clone method to *Path. I _think_ I am addressing dennwc's concerns about the original version of this PR by making a new clone method that returns a Path with a copy of the original stack with capacity len(p.stack) + 1. | 31 August 2016, 16:16:03 UTC |
e78aa87 | Huston Bokinsky | 17 August 2016, 22:16:28 UTC | This is a follow-up to a [previous issue](https://discourse.cayley.io/t/should-traversal-methods-change-their-receiver-path/308). Said issue reported on path variables in Gremlin/javascript changing as new paths were created as extensions from them. This issue was resolved with a subsequent [PR](https://github.com/cayleygraph/cayley/commit/cf824fe4bb9b5f64296c320f06febc3c33dbc9e0). The problem, though, lies deeper. Using cayley as a library and executing a similar query pattern, the same results appear: ``` func main() { store, _ := cayley.NewGraph("leveldb", "/path/to/leveldb.db", nil) alice_path := path.StartPath(store, quad.IRI("alice")) alice_pre, _ := alice_path.Iterate(nil).AllValues(nil) fmt.Println("alice:", alice_pre) // alice is <alice> alice_follows_path := alice_path.Out(quad.IRI("follows")) alice_follows, _ := alice_follows_path.Iterate(nil).AllValues(nil) fmt.Println("alice_follows:", alice_follows) // alice follows <bob> alice_post, _ := alice_path.Iterate(nil).AllValues(nil) fmt.Println("alice:", alice_post) // alice has turned into <bob> } ``` Furthermore, for reasons I couldn't track down, I think this behavior contributed to a pretty serious bug with the Except method on *Path. Try the following and watch what happens to your machine's memory usage: ``` func main() { fmt.Println("test_query2.go, building store") store, _ := cayley.NewGraph("leveldb", "/path/toleveldb.db", nil) p := path.NewPath(store) coolpeople := p.Has(quad.IRI("status"), quad.String("cool_person")) bobfollowers := p.Has(quad.IRI("follows"), quad.IRI("bob")) reduced := bobfollowers.Except(coolpeople) vals, _ := reduced.Iterate(nil).AllValues(nil) fmt.Println("bob's followers who are not cool:", vals) } ``` This commit includes a test in graph/path/path_test.go. It does not undo the changes to query/gremlin/traversals.go from the above-mentioned commit. This probably means that there is some extra cloning that does not need to happen and which should be removed. The gremlin tests pass with this commit, however. | 29 August 2016, 21:43:40 UTC |
d32c034 | Denys Smirnov | 29 August 2016, 10:48:43 UTC | dump: fix double escape of nquad values | 29 August 2016, 10:49:00 UTC |
2dcadd3 | Kenneth Shaw | 26 August 2016, 14:09:20 UTC | appengine: updating dependency paths and adding documentation (#464) Run aefix against the gaedatastore and added some documentation to the appengine folder along with an example for deploying to the traditional and flexible environments. | 26 August 2016, 14:09:20 UTC |
4a179d5 | Denys Smirnov | 24 August 2016, 17:28:11 UTC | gremlin: handle string slice in via parameter | 24 August 2016, 17:28:11 UTC |
c544f1a | Kenneth Shaw | 24 August 2016, 08:00:20 UTC | appengine: add build constraint (#463) internal/db/repl.go is not used by the appengine deployment, however the file is included in the general build. This commit adds the necessary exclusionary build tag for appengine, and updates app.yaml to the latest go API (1.6.3) available on appengine. | 24 August 2016, 08:00:20 UTC |
2120784 | Denys Smirnov | 23 August 2016, 15:15:05 UTC | add vendor to gitignore | 23 August 2016, 15:15:05 UTC |
a59706b | Denys Smirnov | 19 August 2016, 20:25:58 UTC | Glide migration (#460) switch to glide for dependency management; resolves #451 | 19 August 2016, 20:25:58 UTC |
5223fc7 | Barak Michener | 19 August 2016, 17:43:44 UTC | Merge pull request #459 from coralproject/master user/pass functionality for mongo backend | 19 August 2016, 17:43:44 UTC |
dca8ef5 | Daniel Whitenack | 19 August 2016, 17:31:27 UTC | nil instead of pointer to empty struct | 19 August 2016, 17:31:27 UTC |
1263c7c | Daniel Whitenack | 19 August 2016, 16:20:58 UTC | swith to if statements | 19 August 2016, 16:20:58 UTC |
bc98b4b | Daniel Whitenack | 17 August 2016, 20:15:25 UTC | user/pass functionality for mongo backend | 17 August 2016, 20:15:25 UTC |
c7c8cfb | Allan Costa | 16 August 2016, 23:18:10 UTC | Fix Docker building (#456) dockerfile: Add missing dependency. Use relative paths. | 16 August 2016, 23:18:10 UTC |
4dbea90 | Barak Michener | 16 August 2016, 23:14:56 UTC | Merge pull request #458 from barakmich/bench_leak gremlin: don't require a session to last as long as the timeout | 16 August 2016, 23:14:56 UTC |
80c8e10 | Barak Michener | 16 August 2016, 23:02:36 UTC | gremlin: don't require a session to last as long as the timeout | 16 August 2016, 23:03:31 UTC |
a29cd09 | Barak Michener | 16 August 2016, 20:05:42 UTC | Merge pull request #457 from kris-runzer/master graph: fix Is*(err error) checkers to properly compare against *DeltaError | 16 August 2016, 20:05:42 UTC |
13f6e1e | Kris Runzer | 16 August 2016, 19:37:48 UTC | graph: add Is*(err error) checker tests | 16 August 2016, 19:38:01 UTC |
a962c87 | Kris Runzer | 16 August 2016, 19:14:25 UTC | graph: fix Is*(err error) checkers to properly compare against *DeltaError | 16 August 2016, 19:18:36 UTC |
93762b8 | Denys Smirnov | 30 July 2016, 18:57:37 UTC | optimize by default in Iterate helper | 30 July 2016, 18:57:37 UTC |
cf824fe | Denys Smirnov | 29 July 2016, 20:19:39 UTC | gremlin: clone path objects | 29 July 2016, 20:19:39 UTC |
c8cfb87 | ben hockey | 29 July 2016, 00:35:22 UTC | simplify the signature of NextLogOut (manual merge of #264) | 29 July 2016, 00:48:20 UTC |
bc52367 | Denys Smirnov | 28 July 2016, 23:54:34 UTC | graph: add iteration helpers, update examples; resolves #446 | 28 July 2016, 23:54:34 UTC |
4ebcb90 | Denys Smirnov | 24 July 2016, 10:51:36 UTC | http: fix test | 24 July 2016, 10:51:36 UTC |
71d7495 | Denys Smirnov | 24 July 2016, 10:49:33 UTC | http: fix json quads decoding | 24 July 2016, 10:49:33 UTC |
12805a4 | Denys Smirnov | 23 July 2016, 21:41:37 UTC | gremlin: fix ToArray without arguments | 23 July 2016, 21:41:37 UTC |
67da1ff | Denys Smirnov | 23 July 2016, 21:24:19 UTC | iterator: promote Next to main interface; make NoNext an optional interface | 23 July 2016, 21:24:19 UTC |
1e950cd | Denys Smirnov | 22 July 2016, 02:20:06 UTC | use new helpers in imports | 23 July 2016, 21:21:06 UTC |
f733b02 | Robert Melton | 23 July 2016, 11:47:28 UTC | Merge pull request #453 from oren/master Example of BoltDB | 23 July 2016, 11:47:28 UTC |
54d4921 | Oren | 23 July 2016, 11:27:56 UTC | Uppercase a comment | 23 July 2016, 11:27:56 UTC |
68b1329 | Oren | 23 July 2016, 11:26:22 UTC | Use tempfile instead of fixed path to the DB | 23 July 2016, 11:26:22 UTC |
2cd277e | Oren | 23 July 2016, 11:09:48 UTC | Remove the double close | 23 July 2016, 11:09:48 UTC |
3a54ab3 | Oren | 23 July 2016, 07:15:01 UTC | Update examples/README.md | 23 July 2016, 07:15:01 UTC |
347978d | Oren | 23 July 2016, 06:43:32 UTC | Example of BoltDB | 23 July 2016, 06:43:32 UTC |
cf181dd | Oren | 23 July 2016, 06:31:57 UTC | Merge remote-tracking branch 'upstream/master' | 23 July 2016, 06:31:57 UTC |
d582adb | Denys Smirnov | 22 July 2016, 02:09:28 UTC | quad: few helpers Make accepts interfaces and converts them via AsValue. Helper for safely calling Native on quad values. | 22 July 2016, 02:09:28 UTC |
bf28b80 | Robert Melton | 21 July 2016, 16:37:01 UTC | Just better quickstart + examples creation | 21 July 2016, 16:37:01 UTC |
c39b2db | Denys Smirnov | 18 July 2016, 22:49:17 UTC | quad: function to unwrap values; resolves #448 | 18 July 2016, 22:49:17 UTC |
4d5124e | Denys Smirnov | 18 July 2016, 22:12:05 UTC | query: check type assertions, recover properly in gremlin; fixes #450 | 18 July 2016, 22:12:05 UTC |
9be90da | Denys Smirnov | 15 July 2016, 22:30:26 UTC | graph: cast to Nexter once, remove Next helper | 17 July 2016, 21:01:27 UTC |
f475101 | Barak Michener | 17 July 2016, 18:02:36 UTC | Merge pull request #378 from dennwc/quad_value Typed Quad values | 17 July 2016, 18:02:36 UTC |
0bc15ed | Denys Smirnov | 17 July 2016, 16:48:10 UTC | gremlin: convert values to native types, not strings | 17 July 2016, 16:48:10 UTC |
168247a | Denys Smirnov | 17 July 2016, 11:34:29 UTC | gremlin: do not escape string values in results | 17 July 2016, 11:34:29 UTC |
16f67d5 | josephschorr | 16 July 2016, 10:37:36 UTC | Add Clone() to Path for easier reuse of Path segments (#444) | 16 July 2016, 10:37:36 UTC |
0508015 | Denys Smirnov | 15 July 2016, 20:59:14 UTC | gremlin: string values defaults to quad.String typed, and are parsed for IRI and BNode-like values | 15 July 2016, 20:59:14 UTC |
0df40b3 | Denys Smirnov | 15 July 2016, 20:23:35 UTC | quad: helper to convert native types | 15 July 2016, 20:23:35 UTC |
3c15319 | Denys Smirnov | 15 July 2016, 20:22:55 UTC | small fixes | 15 July 2016, 20:22:55 UTC |
b99aa1d | Denys Smirnov | 09 July 2016, 15:33:50 UTC | Wire Skip and Limit to Gremlin. Also fixed #254. | 15 July 2016, 00:52:06 UTC |
43358bf | Denys Smirnov | 26 March 2016, 15:39:45 UTC | postgres: store hashes as binary data instead of hex strings | 15 July 2016, 00:52:06 UTC |
2841ab6 | Denys Smirnov | 24 March 2016, 01:16:16 UTC | postgres: prepare each statement in ApplyDeltas | 15 July 2016, 00:52:06 UTC |
a3a9a4f | Denys Smirnov | 22 March 2016, 21:12:40 UTC | postgres: generate distinct node insert statements only | 15 July 2016, 00:52:05 UTC |
e689224 | Denys Smirnov | 20 March 2016, 21:04:53 UTC | cquads: convert TypedString values to native types automatically on loading | 15 July 2016, 00:52:05 UTC |
db4ac03 | Denys Smirnov | 20 March 2016, 10:53:39 UTC | gremlin: allow to specify multiple conditions in Filter | 15 July 2016, 00:52:05 UTC |
bdfaff9 | Denys Smirnov | 20 March 2016, 00:49:56 UTC | mongo: optimize comparison iterator | 15 July 2016, 00:52:05 UTC |
20ccd90 | Denys Smirnov | 20 March 2016, 00:48:55 UTC | Test for typed value comparison and optimization | 15 July 2016, 00:52:05 UTC |
03c520a | Denys Smirnov | 19 March 2016, 22:25:18 UTC | gremlin: expose value comparison iterator via path lib, add tests | 15 July 2016, 00:52:05 UTC |
4ee7e67 | Denys Smirnov | 19 March 2016, 21:43:22 UTC | gremlin: support for typed values | 15 July 2016, 00:52:05 UTC |
fdb8959 | Denys Smirnov | 19 March 2016, 20:33:10 UTC | gremlin: rewritten, now it's easier extend | 15 July 2016, 00:52:05 UTC |
f7be686 | Denys Smirnov | 19 March 2016, 17:48:15 UTC | gremlin: replace JS-based graph object with reflect-based | 15 July 2016, 00:52:05 UTC |
120290d | Denys Smirnov | 19 March 2016, 16:26:10 UTC | comparison: compare only values with the same type, add a test for mixed set | 15 July 2016, 00:52:05 UTC |
2d45632 | Denys Smirnov | 19 March 2016, 00:57:27 UTC | postgres: store typed values natively; separate LRU cache | 15 July 2016, 00:52:05 UTC |
cd8a7c1 | Denys Smirnov | 13 March 2016, 21:43:44 UTC | mongo: fix indexing, remove recursion in LinksTo, remove unnecessary roundtrip | 15 July 2016, 00:52:05 UTC |
3e89c0f | Denys Smirnov | 13 March 2016, 20:52:38 UTC | postgres: fix iterators | 15 July 2016, 00:52:05 UTC |
1a936b4 | Denys Smirnov | 13 March 2016, 18:39:08 UTC | postgres: new table structure | 15 July 2016, 00:52:05 UTC |
7ba88e7 | Denys Smirnov | 13 March 2016, 16:59:48 UTC | Update value comparison iterator. Stop graph.Value madness. | 15 July 2016, 00:52:05 UTC |
ce2c62e | Denys Smirnov | 12 March 2016, 17:20:59 UTC | quad: at least try to escape string values | 15 July 2016, 00:52:05 UTC |
607bc5e | Denys Smirnov | 12 March 2016, 11:39:50 UTC | cquads: recognize TypedString and LangString in parser | 15 July 2016, 00:52:05 UTC |
2b6c330 | Denys Smirnov | 11 March 2016, 23:21:00 UTC | Add a test for Raw-to-typed values exchange. Fix memstore not using hashes in map. | 15 July 2016, 00:52:05 UTC |
e6024ba | Denys Smirnov | 11 March 2016, 21:13:12 UTC | path: supports typed values | 15 July 2016, 00:52:05 UTC |
08bd968 | Denys Smirnov | 11 March 2016, 08:54:06 UTC | postgres: typed values (protobuf) | 15 July 2016, 00:52:05 UTC |
b473ad0 | Denys Smirnov | 11 March 2016, 08:18:40 UTC | quad: HashTo - less allocations. Small test for hashes. | 15 July 2016, 00:52:05 UTC |
5846f81 | Denys Smirnov | 09 March 2016, 21:18:07 UTC | mongo: use native value types where possible | 15 July 2016, 00:52:05 UTC |
086cf7a | Denys Smirnov | 09 March 2016, 19:26:17 UTC | mongo: typed values (protobuf) | 15 July 2016, 00:52:05 UTC |
3ddae20 | Denys Smirnov | 08 March 2016, 08:27:06 UTC | GAE (untyped) iterateResults. More tests. Fixed handling of size and conflicts in postgres. | 15 July 2016, 00:52:05 UTC |
683e2ca | Denys Smirnov | 07 March 2016, 22:08:14 UTC | quad: add support for few basic types | 15 July 2016, 00:52:05 UTC |
60164c4 | Denys Smirnov | 07 March 2016, 21:06:13 UTC | quad: move values to a separate file | 15 July 2016, 00:52:05 UTC |
d432fee | Denys Smirnov | 06 March 2016, 18:06:05 UTC | Unify tests for QuadStore. Run Mongo/Postgres in Docker automatically. | 15 July 2016, 00:52:05 UTC |
3326bbd | Denys Smirnov | 06 March 2016, 11:23:15 UTC | leveldb: migration code | 15 July 2016, 00:52:00 UTC |
3bc1b1a | Denys Smirnov | 06 March 2016, 10:02:16 UTC | Update goprotobuf. Use new protosizer extension (no more Size_ fields). | 15 July 2016, 00:49:53 UTC |
31fefe7 | Denys Smirnov | 06 March 2016, 09:35:05 UTC | leveldb: use protobuf | 15 July 2016, 00:49:53 UTC |
27aba6a | Denys Smirnov | 03 March 2016, 07:56:55 UTC | bolt: migration code | 15 July 2016, 00:49:53 UTC |
5dc03ee | Denys Smirnov | 28 February 2016, 19:35:41 UTC | add typed fields to protobufs | 15 July 2016, 00:49:49 UTC |
e396636 | Denys Smirnov | 28 February 2016, 00:12:44 UTC | update tests | 15 July 2016, 00:32:24 UTC |
212d198 | Denys Smirnov | 27 February 2016, 23:30:17 UTC | update exporter | 15 July 2016, 00:32:24 UTC |
dbf446a | Denys Smirnov | 27 February 2016, 23:22:04 UTC | query: updated to use typed values | 15 July 2016, 00:32:24 UTC |
a677b03 | Denys Smirnov | 27 February 2016, 23:30:17 UTC | mongo: typed values | 15 July 2016, 00:32:24 UTC |
c697881 | Denys Smirnov | 27 February 2016, 22:28:23 UTC | sql: typed values | 15 July 2016, 00:32:24 UTC |
e88aff5 | Denys Smirnov | 27 February 2016, 22:22:24 UTC | gae: typed values | 15 July 2016, 00:32:24 UTC |
ad04712 | Denys Smirnov | 27 February 2016, 22:08:11 UTC | leveldb: typed values | 15 July 2016, 00:32:24 UTC |
f26a4e4 | Denys Smirnov | 27 February 2016, 21:23:49 UTC | bolt: typed values | 15 July 2016, 00:32:24 UTC |
efb7b5c | Denys Smirnov | 19 February 2016, 23:32:33 UTC | memstore: typed values | 15 July 2016, 00:32:24 UTC |
4135f62 | Denys Smirnov | 19 February 2016, 23:32:33 UTC | graph: updated to use typed values | 15 July 2016, 00:32:24 UTC |
ec9ac70 | Denys Smirnov | 19 February 2016, 22:56:32 UTC | quad: directions are typed | 15 July 2016, 00:32:19 UTC |
d390663 | Dan Kortschak | 10 July 2016, 11:29:39 UTC | graph: provide more meaningful errors for bad actions (#443) * graph: avoid use of flag in library packages * graph/...: use meaningful error type for bad actions * bolt: remove redundant line * mongo: make signature match other backends | 10 July 2016, 11:29:39 UTC |
4b350be | josephschorr | 10 July 2016, 09:30:36 UTC | Don't iterate over all quads unless necessary (#440) Makes ApplyDeltas slightly faster | 10 July 2016, 09:30:36 UTC |
6ab5e6d | Dan Kortschak | 10 July 2016, 02:35:45 UTC | clog: fix comment typos and add package comment (#442) Also rename verbosity parameter and reorder comparison to match order of doc comment. | 10 July 2016, 02:35:45 UTC |
359cbe8 | Denys Smirnov | 09 July 2016, 15:38:52 UTC | fix repository links in docs | 09 July 2016, 15:38:52 UTC |
a47e4ed | Denys Smirnov | 09 July 2016, 12:03:43 UTC | Implement Skip and Limit iterators (#369) | 09 July 2016, 12:03:43 UTC |
ca63694 | Denys Smirnov | 09 July 2016, 11:45:03 UTC | Delete node API (#158) | 09 July 2016, 11:45:03 UTC |
12183c6 | Denys Smirnov | 09 July 2016, 11:12:30 UTC | Updated Dockerfile (fixed #357) * fix host/port in Dockerfile * serve 30kmoviedata by default * update docs for running in container | 09 July 2016, 11:12:30 UTC |
d42aa90 | Denys Smirnov | 08 July 2016, 19:32:51 UTC | fix Unique iterator for non-comparable tokens; fixes #437 | 08 July 2016, 19:33:11 UTC |