JingDas commented on code in PR #3264:
URL: https://github.com/apache/calcite/pull/3264#discussion_r1230243310
##########
core/src/main/java/org/apache/calcite/rel/metadata/BuiltInMetadata.java:
##########
@@ -105,6 +105,44 @@ interface Handler extends MetadataHandler<UniqueKeys> {
}
}
+ /**
+ * Metadata about which columns have foreign keys.
+ */
+ public interface ForeignKeys extends Metadata {
+ MetadataDef<ForeignKeys> DEF =
+ MetadataDef.of(ForeignKeys.class, ForeignKeys.Handler.class,
+ BuiltInMethod.FOREIGN_KEYS.method);
+
+ /**
+ * Determines the list of foreign keys for this expression. Foreign keys
are
+ * represented as an {@link org.apache.calcite.util.ImmutableBitSet}, where
+ * each bit position represents the column ordinal is foreign key.
+ *
+ * @param ignoreNulls if true, ignore null values when determining
Review Comment:
I read some docs of Mysql and Oracle as following:
[Oracle foreign
keys](https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/constraint.html#GUID-1055EA97-BA6F-4764-A15F-1024FD5B6DFE).
[Mysql foreign
keys](https://dev.mysql.com/doc/mysql-reslimits-excerpt/5.7/en/ansi-diff-foreign-keys.html).
and found that foreign key may be null when the parent table(containg unique
key) delete the unique key.
--
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]