[ https://issues.apache.org/jira/browse/HIVE-17041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16617717#comment-16617717 ]
Jesus Camacho Rodriguez commented on HIVE-17041: ------------------------------------------------ [~vgarg], I have seen that both {{RelMdColumnUniqueness}} and {{RelMdUniqueKeys}} have a boolean on whether nulls should be ignored or not. RelBuilder is calling those methods with {{ignoreNulls}} set to false. Hence, I think those classes could be changed to check for the nullability of the columns if ignoreNulls is false, rather than changing {{isKey}}, since the latest comprises both PRIMARY and UNIQUE keys. > Aggregate elimination with UNIQUE and NOT NULL column > ----------------------------------------------------- > > Key: HIVE-17041 > URL: https://issues.apache.org/jira/browse/HIVE-17041 > Project: Hive > Issue Type: Sub-task > Components: Logical Optimizer > Affects Versions: 3.0.0 > Reporter: Jesus Camacho Rodriguez > Assignee: Vineet Garg > Priority: Major > Attachments: HIVE-17041.1.patch > > > If columns are part of a GROUP BY expression and they are UNIQUE and do not > accept NULL values, i.e. PK or UK+NOTNULL, the _Aggregate_ operator can be > transformed into a Project operator, as each row will end up in a different > group. > For instance, given that _pk_ is the PRIMARY KEY for the table, the GROUP BY > could be removed from grouping columns for following query: > {code:sql} > SELECT pk, value1 > FROM table_1 > GROUP BY value1, pk, value2; > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)