Incorrect results with broadcast join comparing Decimal with Double.

Description

The following test case, comparing a Decimal column with a Double column should return 1 row, but returns no rows when broadcast join is selected:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 drop table t1; create table t1 (num1 dec(31,0), num2 double); insert into t1 values (1,1); -- Incorrect results, broadcast join: select 1 from t1 tab1, t1 tab2 --SPLICE-PROPERTIES joinStrategy=BROADCAST where tab1.num1=tab2.num2; splice> > 1 ----------- 0 rows selected ELAPSED TIME = 21 milliseconds -- Correct results, SortMerge join: select 1 from t1 tab1, t1 tab2 --SPLICE-PROPERTIES joinStrategy=SORTMERGE where tab1.num1=tab2.num2; splice> splice> > 1 ----------- 1 1 row selected ELAPSED TIME = 10 milliseconds

Environment

None

Test Plan

[Template: please modify accordingly]
Testing considerations and plan:
1. User impact/behavior changes (e.g., error message change)
2. Variation consideration (e.g., Count/Sum/Max/Min/Avg, Parquet/ORC/AVRO formats)
3. Platform consideration (Cloudera/HDP/MapR, kerberos/ldap, HBase/Spark versions)
4. Upgrade/backdown compatibility (e.g., data dictionary changes)
5. Client connectivity impact (JDBC/ODBC)
6. Configuration changes needed
7. Performance expectations

Status

Assignee

Mark Sirek

Reporter

Mark Sirek

Labels

None

Fix Build

1903

Doc Impact

None

Components

Sprint

None

Priority

Normal
Configure