danielcweeks commented on code in PR #10329:
URL: https://github.com/apache/iceberg/pull/10329#discussion_r1599193529
##########
core/src/test/java/org/apache/iceberg/TestLocationProvider.java:
##########
@@ -285,4 +286,22 @@ public void testObjectStorageWithinTableLocation() {
assertThat(parts).element(2).asString().isNotEmpty();
assertThat(parts).element(3).asString().isEqualTo("test.parquet");
}
+
+ @TestTemplate
+ public void testEncodedFieldNameInPartitionPath() {
+ // Update the table to use a string field for partitioning with special
characters in the name
+ table.updateProperties().set(TableProperties.OBJECT_STORE_ENABLED,
"true").commit();
+ table.updateSchema().addColumn("data#1", Types.StringType.get()).commit();
+ table.updateSpec().addField("data#1").commit();
Review Comment:
They recommend URL encoding the values, which is what we're doing here. I'm
not sure how much value there is in using a range of characters since we just
validating that url encoding is happening.
The only one that immediately stands out to me is `=`, which does not get
encoded, but that's been used for partition paths for a long time with both
FileIO and Hadoop FileSystem.
--
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]