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

Reply via email to