Repository navigation
[fix](fe) Preserve path partition columns with CSV schema - #67407
0AyanamiRei wants to merge 2 commits into
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
TPC-H: Total hot run time: 16828 ms |
TPC-DS: Total hot run time: 81714 ms |
ClickBench: Total hot run time: 14.61 s |
### What problem does this PR solve?
Issue Number: None
Related PR: None
Problem Summary: File table-valued functions returned only explicitly declared CSV columns when csv_schema was set, so columns derived from path_partition_keys disappeared from the table schema. Append non-conflicting path partition columns to the explicit CSV schema in their declared order and reject case-insensitive conflicts before they can create a duplicate schema.
### Release note
CSV file table-valued functions now expose path partition columns when csv_schema is specified and reject conflicting column names.
### Check List (For Author)
- Test: FE unit test and regression test
- FE unit test: ExternalFileTableValuedFunctionTest (5 tests)
- Regression test: test_csv_schema_with_path_partition_keys, including conflict rejection
- Behavior changed: Yes. Path partition columns remain available with an explicit CSV schema.
- Does this need documentation: No
465e988 to
b895d8a
Compare
|
run buildall |
TPC-H: Total hot run time: 16942 ms |
FE UT Coverage ReportIncrement line coverage |
TPC-DS: Total hot run time: 81782 ms |
ClickBench: Total hot run time: 14.52 s |
### What problem does this PR solve? Related PR: apache#67407 Problem Summary: Merge current master into the explicit CSV schema path partition fix. Resolve the overlapping test imports, retain master's UUID and nested field spelling tests, and adapt the path partition assertions to JUnit Jupiter. The production patch and existing regression suite/output are unchanged, preserving appended column order and case-insensitive conflict rejection. ### Release note None (conflict resolution preserves the original PR behavior). ### Check List (For Author) - Test: Unit Test - ./run-fe-ut.sh --run org.apache.doris.tablefunction.ExternalFileTableValuedFunctionTest - Passed: 7 tests, 0 failures/errors/skips - Targeted Maven Checkstyle: 0 violations - Source whitespace and conflict-marker checks passed - Verified production/regression patches and both parents' test bodies are retained, apart from JUnit assertion API migration - S3 regression suite not rerun for this merge; its generated output, including the existing final blank line, is unchanged - Behavior changed: No additional behavior beyond the original PR - Does this need documentation: No
|
run buildall |
TPC-H: Total hot run time: 29281 ms |
TPC-DS: Total hot run time: 151469 ms |
ClickBench: Total hot run time: 24.68 s |
FE UT Coverage ReportIncrement line coverage |
|
Review of head [P2] Use the same case-insensitive comparison as Table when rejecting column conflicts In
Please use a Confirmed with an isolated Java reproduction of the conflict check and Table's name-index comparison. Full FE and S3 regression tests were not rerun during this review. No other definite regressions were found in the reviewed scan path. |
What problem does this PR solve?
Issue Number: None
Related PR: None
Problem Summary: File table-valued functions returned only explicitly declared CSV columns when
csv_schemawas set, so columns derived frompath_partition_keysdisappeared from the table schema. Append non-conflicting path partition columns to the explicit CSV schema in their declared order and reject case-insensitive conflicts before they can create a duplicate schema.Release note
CSV file table-valued functions now expose path partition columns when
csv_schemais specified and reject conflicting column names.Check List (For Author)
ExternalFileTableValuedFunctionTest(5 tests)test_csv_schema_with_path_partition_keys, including conflict rejection