Summary
Surfaced by the multi-language coverage fan-out while conformance-testing these SPEC-IDs against databricks/databricks-jdbc. Each finding is committed as an expected-failure (xfail) test in the coverage PR — the test asserts the CORRECT (post-fix) behavior and stays red until THIS driver (databricks/databricks-jdbc) is fixed, then flips green as a tripwire.
Findings
- COMPLEX-015 [thrift, sea]: MAP complex-type serialization leaves
" and \ unescaped, so a map with those characters in a key/value renders as malformed, unparseable JSON ({"k"1":"v\1"}); STRUCT/ARRAY escapes are correct
- failing test:
testComplexTypeWithCharactersRequiringJsonEscaping (see the coverage PR diff under tests/)
- COMPLEX-015: MAP complex-type serialization does not escape key/value strings: a map with a
" or \ in a key or value renders as malformed, unparseable JSON (e.g. {"k"1":"v\1"}); STRUCT/ARRAY escapes are correct. Reproduces on both thrift and sea.
Context
Summary
Surfaced by the multi-language coverage fan-out while conformance-testing these SPEC-IDs against databricks/databricks-jdbc. Each finding is committed as an expected-failure (xfail) test in the coverage PR — the test asserts the CORRECT (post-fix) behavior and stays red until THIS driver (databricks/databricks-jdbc) is fixed, then flips green as a tripwire.
Findings
"and\unescaped, so a map with those characters in a key/value renders as malformed, unparseable JSON ({"k"1":"v\1"}); STRUCT/ARRAY escapes are correcttestComplexTypeWithCharactersRequiringJsonEscaping(see the coverage PR diff undertests/)"or\in a key or value renders as malformed, unparseable JSON (e.g. {"k"1":"v\1"}); STRUCT/ARRAY escapes are correct. Reproduces on both thrift and sea.Context