julianhyde commented on code in PR #3495:
URL: https://github.com/apache/calcite/pull/3495#discussion_r1408166199


##########
core/src/main/java/org/apache/calcite/rel/metadata/BuiltInMetadata.java:
##########
@@ -83,9 +83,9 @@ public interface UniqueKeys extends Metadata {
      * represented as an {@link org.apache.calcite.util.ImmutableBitSet}, where
      * each bit position represents a 0-based output column ordinal.
      *
-     * <p>Note that a key plus other columns is still unique. Therefore a table
-     * with all columns unique has a unique key consisting of the empty set.
-     * This is the case with all single-row tables.
+     * <p>Note that a unique key plus other columns is still unique.
+     * Conversely, all columns are unique in a table with a unique key
+     * consisting of the empty set, as is the case for all single-row tables.

Review Comment:
   x is a key if, for two rows, their values of x will be different if are not 
the same row.
   
   (x, y) is a key if, for two rows, their values of x and y will be the 
different if they are not the same row.
   
   () is a key if, for two rows the value of () will be different if they are 
not the same row. But () is a constant. So the table cannot have more than one 
row.
   
   Sorry to keep hammering on this. But it's like trying to discuss logic if we 
disagree on the meaning of true and false. (The above is closely related to the 
finding in logic that "false implies anything".)



-- 
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]

Reply via email to