Skip to content

v1.2.636-rc8.5.1

@youngsofun youngsofun tagged this 04 Mar 14:22
* feat: query parquet table is case_sensitive by default.

* test(sqllogic): align parquet stage column case for case-sensitive mode

* test(sqllogic): quote parquet mixed-case cols and use tuple index access

* fix(parquet): unquote tuple path segment before schema matching

Why this case failed
- Stage parquet tuple access can be canonicalized to quoted inner-field paths (for example, t.1 may map to t:"A" for mixed-case tuple names).
- In compute_output_field_paths(), we split output field path by : and matched each segment directly against parquet schema names.
- Quoted segment "A" did not match parquet field A, so matching failed with TableSchemaMismatch: Cannot find field t:"A".

Fix approach
- Add unquote_path_segment() in parquet reader utils.
- Strip paired quote chars (") or (`) from each path segment before field-name matching.
- Keep existing case-insensitive name matching logic unchanged after unquoting.
- Add unit test coverage for unquote_path_segment() to prevent regressions for quoted/unquoted inputs.

* test(stage): cover tuple access via t.1 and t:A/t:B paths

- Keep existing tuple scenarios in stage parquet tests on stable index-style access (t.1/t.2).

- Add one explicit internal-path case per file to cover :A/:B usage in both SELECT list and WHERE condition.

- Document that :A/:B path form is internal behavior and not a stable SQL interface contract.

---------

Co-authored-by: dantengsky <dantengsky@gmail.com>
Assets 2
Loading