kbendick commented on a change in pull request #3614:
URL: https://github.com/apache/iceberg/pull/3614#discussion_r766889760
##########
File path:
flink/v1.13/flink/src/main/java/org/apache/iceberg/flink/FlinkCatalog.java
##########
@@ -400,6 +400,24 @@ void createIcebergTable(ObjectPath tablePath,
CatalogBaseTable table, boolean ig
}
}
+ // skip the AbstractConstraint comparison
+ public boolean schemaCompare(org.apache.flink.table.api.Schema rawSchema,
+ org.apache.flink.table.api.Schema newSchema) {
+
+ org.apache.flink.table.api.Schema.UnresolvedPrimaryKey rawPK =
rawSchema.getPrimaryKey().orElse(null);
+
+ org.apache.flink.table.api.Schema.UnresolvedPrimaryKey newPK =
newSchema.getPrimaryKey().orElse(null);
+ if ((rawPK == null && newPK != null) || (rawPK != null && newPK == null)) {
+ return false;
+ }
+ boolean exp = rawSchema.getColumns().equals(newSchema.getColumns()) &&
+
rawSchema.getWatermarkSpecs().equals(newSchema.getWatermarkSpecs());
+ boolean exp2 = rawPK != null && newPK != null ?
+ rawPK.getColumnNames().equals(newPK.getColumnNames())
+ : true;
Review comment:
Intellij tells me this can be `
```java
boolean exp2 = rawPK == null || newPK == null ||
rawPK.getColumnNames().equals(newPK.getColumnNames());
```
It actually says newPk is never null, but I don't know if it's gathering
that from usage in tests or what (would suggest to leave it unless investigated)
```java
boolean exp2 = rawPK == null ||
rawPK.getColumnNames().equals(newPK.getColumnNames());
```
--
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]