skyyyy955 opened a new pull request, #10854:
URL: https://github.com/apache/paimon/pull/10854

   ### Purpose
   
   On Windows, `FileIO.get(r'C:\warehouse')` parses the drive letter as a URI 
scheme and sends the path to PyArrow, which rejects it. Recognize drive paths 
without an authority as local on Windows, preserving the original path and 
options.
   
   Return forward slashes in `LocalFileStatus.path`, consistent with the path 
consumed by `FileIO.copy_files` and with the actual PyArrow FileInfo result. 
Backslashes currently cause directory copies to append the whole source path 
instead of its file name. This keeps `to_filesystem_path` native and leaves 
POSIX dispatch unchanged.
   
   Based on master `5be7e2dd1f722a093015e22332e2e220e1807324`, which includes 
#10827 and #10840. This patch adds the two path fixes and their regression 
tests.
   
   ### Tests
   
   Added factory boundary tests, real Windows reads/writes through direct and 
resolving FileIO, FileInfo consistency, and directory-copy regression coverage. 
With the tests applied to unmodified production code, Windows has four 
failures; all pass with the fix.
   
   - Windows, Python 3.10.11 / PyArrow 19.0.1: 103 passed across 
`file_io_test.py`, `resolving_file_io_test.py`, `filesystem_catalog_test.py`, 
and `kerberos_test.py`.
   - Linux, Python 3.10.22 / PyArrow 19.0.1: 102 passed, 1 Windows-only test 
skipped. The baseline differs only by the expected new Windows-dispatch 
regression failure.
   - Project-configured Flake8, Python 3.6 syntax parsing, license-header 
checks for changed files, and `git diff --check` passed.
   
   No native binding, live cloud filesystem, HDFS cluster, or network-share 
integration run is claimed.
   


-- 
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]

Reply via email to