Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
URL.getPath() produces %20 when path contains spaces.
I suggest to rework all the uses of getResource()... to use Sources.of(URL) so there's single point of failure way to convert URL to File.
This resolves Apache CI which happens to have a space in folder name.
For the record:
1) URL.getPath() produces %20, so it is added to forbidden signatures
2) Paths.get(url.toURI()).toFile() almost works, however it fails with URL is not hierarchical for new URL("file:test.java")
3) new File(URL.toURI() is worse than #2
4) URLDecoder must not be used to decode %20, since it will convert + to spaces as well, thus it will corrupt test.c++
5) It looks like url.toURI().getSchemeSpecificPart()) properly handles "opaque" URIs (which are relative file:test.java kind of URLs)
Attachments
Issue Links
- blocks
-
CALCITE-5820 Add PARSE_URL function (enabled in Hive and Spark library)
- Closed