Denys Smirnov
Denys Smirnov
NextPath is one of the weird hacks that remain in Cayley from old days. It was added to make HasA iterator work properly, but in fact it can be hidden...
Details: https://discourse.cayley.io/t/followrecursive-morphism-path/1126
Use #668 to store queries in database. Next, allow to register virtual predicates that refer these queries. Shapes optimizer will run a rewrite pass to detect predicates that are registered...
Make Shapes serializable. This will allow to pass them over wires as continuation tokens, distribute queries and even to implement virtual predicates.
This will allow to effectively reuse optimized query by backends, and even build an optimized query version with native parameters support in backends.
Currently transaction log kind of exists, but it's not clear why. It's not exposed to users and is mostly a cause of complaints about poor write performance and large database...
Regardless of all the differences, it looks like we could unify our SQL and NoSQL implementations (and even KV) under a single interface. Rough idea is to have a flat...
Currently Unique iterator only affects node IDs. But for real queries it's usually necessary to extract unique records (sets of tags). The most notable example is `SavePredicates` - user might...