Hi Jorge, One tiny nit, but LGTM otherwise:
The KIP mentions backslashes as "(/)"; shouldn't this be "(\)"? I'll cast a +1 on the vote thread anyways; I'm sure this won't block us. Cheers, and thanks for all your hard work on this! Chris On Thu, Sep 1, 2022 at 1:33 PM Jorge Esteban Quilcate Otoya < quilcate.jo...@gmail.com> wrote: > Hi Chris, > > Thanks for your feedback! > > 1. Yes, it will be context-dependent. I have added rules and scenarios to > the nested notation to cover the happy path and edge cases. In short, > backticks will be not be considered as part of the field name when they are > wrapping a field name: first backtick at the beginning of the path or after > a dot, and closing backtick before a dot or at the end of the path. > If backticks happen to be in those positions, use backslash to escape them. > 2. You're right, that's a typo. Fixing it. > 3. I don't think so, I have added a scenario to clarify this. > > KIP is updated. Hopefully the rules and scenarios help to close any open > gap. Let me know if you see any cases that is not considered to address it. > > Cheers, > Jorge. > > On Wed, 31 Aug 2022 at 20:02, Chris Egerton <chr...@aiven.io.invalid> > wrote: > > > Hi Robert and Jorge, > > > > I think the backtick/backslash proposal works, but I'm a little unclear > on > > some of the details: > > > > 1. Are backticks only given special treatment when they immediately > follow > > a non-escaped dot? E.g., "foo.b`ar.ba`z" would refer to "foo" -> "b`ar" > -> > > "ba`z" instead of "foo" -> "bar.baz"? Based on the example where the name > > "a.b`.c" refers to "a" -> "b`" -> "c", it seems like this is the case, > but > > I'm worried this might cause confusion since the role of the backtick and > > the need to escape it becomes context-dependent. > > > > 2. In the example table near the beginning of the KIP, the name > "a.`b\`.c`" > > refers to "a" -> "b`c". What happened to the dot in the second part of > the > > name? Should it refer to "a" -> "b`.c" instead? > > > > 3. Is it ever necessary to escape backslashes themselves? If so, when? > > > > Overall, I wish we could come up with a prettier/simpler approach, but > the > > benefits provided by the dual backtick/dot syntax are too great to deny: > > there are no correctness issues like the ones posed with double-dot > > escaping that would lead to ambiguity, the most common cases are still > very > > simple to work with, and there's no risk of interfering with JSON escape > > mechanisms (in most cases) or single-quote shell quoting (which may be > > relevant when connector configurations are defined on the command line). > > Thanks for the suggestion, Robert! > > > > Cheers, > > > > Chris > > >