danielbodart commented on PR #3636: URL: https://github.com/apache/tinkerpop/pull/3636#issuecomment-5631166521
Interesting, so the reason I can't inline them is because the values from the parent traversal can contain whole sub graphs of data that are projected into the sibling graph (so can be pretty big / unbounded) and exactly as you say I can now benifit from query caching. My implementation uses SQLlitre as the backing store and any bindings just become prepare statement bindings 1-2-1 with no extra complexity introduced. So inlining (for my implementation) can actually stop the query running (I lower the whole gremlin traversal into a relational algebra and then compile to SQL) and with unbounding inlining of a graph that could easily hit the max statement size of SQLlite, it's not cachable as you already mentions but it's also a lot slower to parse as the map would need to be parsed by gremlin parser (antlr-ng in my case) rather than as native code inside SQLite. But I am a realist and understand none of these are your concerns! I didn't realise the inconsistency was intentional and though this was an easy win for everyone and just wanted to upstream my patch. I can carry on shipping an enhanced gremlin library for the federated use cases. I'll close this but have a few more upstream patches I'd like to see if any of them are interest to you all -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
