You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Vineet Garg (JIRA)" <ji...@apache.org> on 2018/05/07 00:04:00 UTC
[jira] [Assigned] (HIVE-19433) HiveJoinPushTransitivePredicatesRule
hangs
[ https://issues.apache.org/jira/browse/HIVE-19433?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vineet Garg reassigned HIVE-19433:
----------------------------------
> HiveJoinPushTransitivePredicatesRule hangs
> ------------------------------------------
>
> Key: HIVE-19433
> URL: https://issues.apache.org/jira/browse/HIVE-19433
> Project: Hive
> Issue Type: Bug
> Components: Logical Optimizer
> Reporter: Vineet Garg
> Assignee: Vineet Garg
> Priority: Major
> Attachments: HIVE-19433.1.patch
>
>
> *Reproducer*
> {code:sql}
> CREATE TABLE `table1`(
> `idp_warehouse_id` bigint,
> `idp_audit_id` bigint,
> `idp_effective_date` date,
> `idp_end_date` date,
> `idp_delete_date` date,
> `pruid` varchar(32),
> `prid` bigint,
> `prtimesheetid` bigint,
> `prassignmentid` bigint,
> `prchargecodeid` bigint,
> `prtypecodeid` bigint,
> `prsequence` bigint,
> `prmodby` varchar(96),
> `prmodtime` timestamp,
> `prrmexported` bigint,
> `prrmckdel` bigint,
> `slice_status` int,
> `role_id` bigint,
> `user_lov1` varchar(30),
> `user_lov2` varchar(30),
> `incident_id` bigint,
> `incident_investment_id` bigint,
> `odf_ss_actuals` bigint,
> `practsum` decimal(38,20));
> CREATE TABLE `table2`(
> `idp_warehouse_id` bigint,
> `idp_audit_id` bigint,
> `idp_effective_date` date,
> `idp_end_date` date,
> `idp_delete_date` date,
> `pruid` varchar(32),
> `prid` bigint,
> `prtimesheetid` bigint,
> `prassignmentid` bigint,
> `prchargecodeid` bigint,
> `prtypecodeid` bigint,
> `prsequence` bigint,
> `prmodby` varchar(96),
> `prmodtime` timestamp,
> `prrmexported` bigint,
> `prrmckdel` bigint,
> `slice_status` int,
> `role_id` bigint,
> `user_lov1` varchar(30),
> `user_lov2` varchar(30),
> `incident_id` bigint,
> `incident_investment_id` bigint,
> `odf_ss_actuals` bigint,
> `practsum` decimal(38,20));
> explain SELECT s.idp_warehouse_id AS source_warehouse_id
> FROM table1 s
> JOIN
> table2 d
> ON (
> s.prid = d.prid )
> JOIN
> table2 e
> ON
> s.prid = e.prid
> WHERE
> concat(
> CASE
> WHEN s.prid IS NULL THEN 1
> ELSE s.prid
> END,',',
> CASE
> WHEN s.prtimesheetid IS NULL THEN 1
> ELSE s.prtimesheetid
> END,',',
> CASE
> WHEN s.prassignmentid IS NULL THEN 1
> ELSE s.prassignmentid
> END,',',
> CASE
> WHEN s.prchargecodeid IS NULL THEN 1
> ELSE s.prchargecodeid
> END,',',
> CASE
> WHEN (s.prtypecodeid) IS NULL THEN ''
> ELSE s.prtypecodeid
> END,',',
> CASE
> WHEN s.practsum IS NULL THEN 1
> ELSE s.practsum
> END,',',
> CASE
> WHEN s.prsequence IS NULL THEN 1
> ELSE s.prsequence
> END,',',
> CASE
> WHEN length(s.prmodby) IS NULL THEN ''
> ELSE s.prmodby
> END,',',
> CASE
> WHEN s.prmodtime IS NULL THEN cast(from_unixtime(unix_timestamp('2017-12-08','yyyy-MM-dd') ) AS timestamp)
> ELSE s.prmodtime
> END,',',
> CASE
> WHEN s.prrmexported IS NULL THEN 1
> ELSE s.prrmexported
> END,',',
> CASE
> WHEN s.prrmckdel IS NULL THEN 1
> ELSE s.prrmckdel
> END,',',
> CASE
> WHEN s.slice_status IS NULL THEN 1
> ELSE s.slice_status
> END,',',
> CASE
> WHEN s.role_id IS NULL THEN 1
> ELSE s.role_id
> END,',',
> CASE
> WHEN length(s.user_lov1) IS NULL THEN ''
> ELSE s.user_lov1
> END,',',
> CASE
> WHEN length(s.user_lov2) IS NULL THEN ''
> ELSE s.user_lov2
> END,',',
> CASE
> WHEN s.incident_id IS NULL THEN 1
> ELSE s.incident_id
> END,',',
> CASE
> WHEN s.incident_investment_id IS NULL THEN 1
> ELSE s.incident_investment_id
> END,',',
> CASE
> WHEN s.odf_ss_actuals IS NULL THEN 1
> ELSE s.odf_ss_actuals
> END ) != concat(
> CASE
> WHEN length(d.pruid) IS NULL THEN ''
> ELSE d.pruid
> END,',',
> CASE
> WHEN d.prid IS NULL THEN 1
> ELSE d.prid
> END,',',
> CASE
> WHEN d.prtimesheetid IS NULL THEN 1
> ELSE d.prtimesheetid
> END,',',
> CASE
> WHEN d.prassignmentid IS NULL THEN 1
> ELSE d.prassignmentid
> END,',',
> CASE
> WHEN d.prchargecodeid IS NULL THEN 1
> ELSE d.prchargecodeid
> END,',',
> CASE
> WHEN (d.prtypecodeid) IS NULL THEN ''
> ELSE d.prtypecodeid
> END,',',
> CASE
> WHEN d.practsum IS NULL THEN 1
> ELSE d.practsum
> END,',',
> CASE
> WHEN d.prsequence IS NULL THEN 1
> ELSE d.prsequence
> END,',',
> CASE
> WHEN length(d.prmodby) IS NULL THEN ''
> ELSE d.prmodby
> END,',',
> CASE
> WHEN d.prmodtime IS NULL THEN cast(from_unixtime(unix_timestamp('2017-12-08','yyyy-MM-dd') ) AS timestamp)
> ELSE d.prmodtime
> END,',',
> CASE
> WHEN d.prrmexported IS NULL THEN 1
> ELSE d.prrmexported
> END,',',
> CASE
> WHEN d.prrmckdel IS NULL THEN 1
> ELSE d.prrmckdel
> END,',',
> CASE
> WHEN d.slice_status IS NULL THEN 1
> ELSE d.slice_status
> END,',',
> CASE
> WHEN d.role_id IS NULL THEN 1
> ELSE d.role_id
> END,',',
> CASE
> WHEN length(d.user_lov1) IS NULL THEN ''
> ELSE d.user_lov1
> END,',',
> CASE
> WHEN length(d.user_lov2) IS NULL THEN ''
> ELSE d.user_lov2
> END,',',
> CASE
> WHEN d.incident_id IS NULL THEN 1
> ELSE d.incident_id
> END,',',
> CASE
> WHEN d.incident_investment_id IS NULL THEN 1
> ELSE d.incident_investment_id
> END,',',
> CASE
> WHEN d.odf_ss_actuals IS NULL THEN 1
> ELSE d.odf_ss_actuals
> END );
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)