yadavay-amzn opened a new pull request, #818: URL: https://github.com/apache/iceberg-cpp/pull/818
## What Fixes #341. `PlanFiles()` (via `ResolvePath()` / `DetectBuiltinFileIO()`) mis-handled `file:` locations written by Java Iceberg in the short form `file:/C:/warehouse/...` (fewer than three slashes): the value was not recognized as a URI and failed to resolve, so planning broke on Windows-style paths. ## How - Detect the URI scheme per RFC 3986 (a valid scheme token followed by `:`) instead of searching for `://`. - Normalize authority-less `file:` forms (`file:/path`, `file:/C:/...`) to the canonical `file:///` form before handing them to Arrow's `PathFromUri`. - Authority-bearing URIs (`file://host/path`, `s3://bucket/...`) and bare local paths pass through unchanged. ## Tests Regression tests added in `arrow_io_test.cc` and `rest_file_io_test.cc` covering the Java `file:/C:/...` form, the canonical `file:///` form, and `file://host/path` pass-through. Build 788/788, tests 18/18 green. --- This contribution was authored with assistance from Claude Opus 4.8, in line with the Iceberg guidelines for AI-assisted contributions (https://iceberg.apache.org/contribute/#guidelines-for-ai-assisted-contributions). All changes were reviewed and tested by the author. -- 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]
