Add names to joins - #816
Conversation
|
This is great in principle, but I think I probably need to get some thoughts together on how to minimize the number of methods floating around. You should definitely be able to specify a name, but also there isn't really a semver constraint on breaks here, so we can also just have the "root" method accept a new argument and ditch all of the I'm happy to pick this up if you aren't in love with changing the PR around to guess what makes sense to me, but I'm also happy to do some more back and forth. There are other changes coming along, in the "chunk/tactics" flavor, which .. probably won't change your mind here (about names) but may shake up which methods you end up wanting to use (we're moving away from cursors internally, towards operators that have fewer but chonkier boundary crossings). |
|
Thanks, that makes sense! I’m happy to revise this. I get the general idea, avoid lots of Happy to update the PR, or happy for you to pick it up. |
|
For example, in Don't sweat the tactics versions yet; I think they are already in place for join, and .. Mostly, I think it's a matter of avoiding the product of |
8438f85 to
b26632f
Compare
|
I have a version for #770 following my understanding of your suggestion:
Does this non-backward-compatible direction match what you had in mind? |
|
Ah, so skimming this and a few thoughts:
A proposal: let's think about adding names to the free functions, leaving the inherent methods unmodified (where acceptable). If it turns out that the inherent methods are the problem, let's discuss that independently. As I suspect you've noticed, all of the inherents are usually 1-2 lines of wrapper around the core free methods, and are/can be super easy to adapt locally. I'm totally happy to pick this up if/when you tire of rewriting things / having to guess about what the next round of feedback might be (the names for free functions is great; everything else is borderline aesthetics for demo code). Directionally, the "chunk" work seems likely to demote "one DD I would definitely recommend that for FlowLog (and anything else) that it's worth having your own |
Signed-off-by: Nemo Yu <zyu379@wisc.edu>
b26632f to
2f38293
Compare
|
Ah, I see what you mean now, indeed, this is much clearer. I’ll keep the name on |
|
e.g. if I understand it correctly, I can customized an operator like this...? |
|
Looks great! Your example looks clean, and generally you should be able to copy/paste other operator definitions if they are more to your liking. Happy to merge this, though, and if there are other rough edges we can pick them up then! |
Adds caller-provided names to the core free join operators.
What I changed:
This lets FlowLog build its own named, rule-level wrapper around the core join operators without expanding Differential Dataflow’s inherent API. #770