0AyanamiRei opened a new pull request, #67418:
URL: https://github.com/apache/doris/pull/67418
### What problem does this PR solve?
Issue Number: None
Related PR: None
Problem Summary: JSON table-valued function schema inference used only the
final key of each `jsonpath` as its output column name. Distinct paths such as
`$.left.id` and `$.right.id` therefore both became `id` and failed the existing
case-insensitive duplicate-column check. Detect duplicate leaf names and derive
names from their path context, while preserving the existing leaf-only names
for non-conflicting paths.
### Release note
JSON table-valued functions now expose path-qualified column names such as
`left_id` and `right_id` when selected jsonpaths have duplicate leaf names.
### Check List (For Author)
- Test: BE unit test, regression test, and manual HTTP stream test
- BE unit test: `NewJsonReaderSchemaTest.*`
- Regression test: `test_jsonpaths_duplicate_leaf` with left/right
controls and combined paths
- Manual test: `http_stream` loaded 2 rows with `left_id`, `right_id`,
and `city`
- BE ASAN build, format check, and build hygiene passed
- clang-tidy: no diagnostics in added code; the command remains non-zero
on existing `core/types.h` NOLINT and system-header conflicts
- Behavior changed: Yes. Conflicting JSONPath leaf names are qualified with
path context.
- Does this need documentation: No
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]