[
https://issues.apache.org/jira/browse/HIVE-27264?focusedWorklogId=858161&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-858161
]
ASF GitHub Bot logged work on HIVE-27264:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 20/Apr/23 09:33
Start Date: 20/Apr/23 09:33
Worklog Time Spent: 10m
Work Description: kasakrisz commented on code in PR #4237:
URL: https://github.com/apache/hive/pull/4237#discussion_r1172332905
##########
ql/src/test/queries/clientpositive/pointlookup6.q:
##########
@@ -0,0 +1,19 @@
+set hive.optimize.point.lookup.min=2;
+
+create table r_table (
+ string_col varchar(30)
+);
+
+create table l_table (
+ string_col varchar(14)
+);
+
+insert into r_table VALUES ('AAA111');
+insert into l_table VALUES ('AAA111');
+
+explain cbo
+SELECT l_table.string_col from l_table, r_table
+WHERE r_table.string_col = l_table.string_col AND l_table.string_col IN
('AAA111', 'BBB222') AND r_table.string_col IN ('AAA111', 'BBB222');
Review Comment:
We get the expected plan in case of this query but I extended this patch by
handling `OR` and added UT.
Issue Time Tracking
-------------------
Worklog Id: (was: 858161)
Time Spent: 2h 10m (was: 2h)
> Literals in conjunction of two IN expression are considered not equals if
> type precision is different
> -----------------------------------------------------------------------------------------------------
>
> Key: HIVE-27264
> URL: https://issues.apache.org/jira/browse/HIVE-27264
> Project: Hive
> Issue Type: Bug
> Components: CBO
> Reporter: Krisztian Kasa
> Assignee: Krisztian Kasa
> Priority: Major
> Labels: pull-request-available
> Time Spent: 2h 10m
> Remaining Estimate: 0h
>
> {code}
> create table r_table (
> string_col varchar(30)
> );
> create table l_table (
> string_col varchar(14)
> );
> insert into r_table VALUES ('AAA111');
> insert into l_table VALUES ('AAA111');
> SELECT l_table.string_col from l_table, r_table
> WHERE r_table.string_col = l_table.string_col AND l_table.string_col IN
> ('AAA111', 'BBB222') AND r_table.string_col IN ('AAA111', 'BBB222');
> {code}
> Should give one row
> {code}
> AAA111
> {code}
> but it returns empty rs
> Workaround
> {code}
> set hive.optimize.point.lookup=false;
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)