[
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)