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]

Reply via email to