mxm commented on code in PR #14729:
URL: https://github.com/apache/iceberg/pull/14729#discussion_r2592071389
##########
flink/v2.1/flink/src/main/java/org/apache/iceberg/flink/sink/dynamic/DynamicIcebergSink.java:
##########
@@ -336,6 +337,15 @@ public Builder<T> inputSchemasPerTableCacheMaxSize(int
inputSchemasPerTableCache
return this;
}
+ /**
+ * Set whether schema field name matching should be case-sensitive. The
default is to match the
+ * field names case-sensitive.
+ */
+ public Builder<T> caseSensitive(boolean newCaseSensitive) {
Review Comment:
>In cache, we are fine if we are insensitive - we are just adding more items
to the cache.
It's not so simple. The cache itself uses the TableIdentifier to refresh the
table. Are we refreshing using the user-provided TableIdentifer, or are we
using the lower case variant? IMHO We need to use whatever the user provides to
load the correct table from the catalog. When we load the table, the only way
to tell would be to load both case sensitive and case insensitive; if both
return results and they are not the same table => FAIL; if it's the same table
or we get only one result => use that table. That's the same mechanism Schema
uses.
--
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]