N Campbell created PHOENIX-3625:
-----------------------------------
Summary: inner join predicate excludes values of zero but div by
zero in projected expression thrown
Key: PHOENIX-3625
URL: https://issues.apache.org/jira/browse/PHOENIX-3625
Project: Phoenix
Issue Type: Bug
Affects Versions: 4.7.0
Environment: Hortonworks 2.5.3
Reporter: N Campbell
Query explicitly excludes zero values. Projection performs a division and a
div-by-zero is thrown.
using phoenix-4.7.0.2.5.3.0-37-client
select TBINT.RNUM, TBINT.CBINT , TDBL.CDBL from TBINT inner join TDBL on
(TBINT.RNUM = TDBL.RNUM and TDBL.CDBL <> 0)
TBINT.RNUM TBINT.CBINT TDBL.CDBL
1 -1 -1
3 1 1
4 10 -0.1
select TBINT.RNUM, TBINT.CBINT / TDBL.CDBL from TBINT inner join TDBL on
(TBINT.RNUM = TDBL.RNUM and TDBL.CDBL <> 0)
Error: Error -1 (00000) : Error while executing SQL "select TBINT.RNUM,
TBINT.CBINT / TDBL.CDBL from TBINT inner join TDBL on (TBINT.RNUM = TDBL.RNUM
and TDBL.CDBL <> 0)": Remote driver error: ArithmeticException: / by zero
SQLState: 00000
ErrorCode: -1
create table if not exists TBINT ( RNUM integer not null primary key, CBINT
bigint )
create table if not exists TDBL ( RNUM integer not null primary key, CDBL
double )
upsert into TINT(RNUM, CINT) values ( 4, 10);
upsert into TBINT(RNUM, CBINT) values ( 0, NULL);
upsert into TBINT(RNUM, CBINT) values ( 1, -1);
upsert into TBINT(RNUM, CBINT) values ( 2, 0);
upsert into TBINT(RNUM, CBINT) values ( 3, 1);
upsert into TBINT(RNUM, CBINT) values ( 4, 10);
upsert into TDBL(RNUM, CDBL) values ( 0, NULL);
upsert into TDBL(RNUM, CDBL) values ( 1, -1E+00);
upsert into TDBL(RNUM, CDBL) values ( 2, 0E+00);
upsert into TDBL(RNUM, CDBL) values ( 3, 1E+00);
upsert into TDBL(RNUM, CDBL) values ( 4, -1E-01);
upsert into TDBL(RNUM, CDBL) values ( 5, 1E+01);
PLAN
CLIENT 1-CHUNK PARALLEL 1-WAY ROUND ROBIN FULL SCAN OVER TBINT
CLIENT 100 ROW LIMIT
PARALLEL INNER-JOIN TABLE 0
CLIENT 1-CHUNK PARALLEL 1-WAY ROUND ROBIN FULL SCAN OVER TDBL
SERVER FILTER BY CDBL != 0.0
DYNAMIC SERVER FILTER BY TBINT.RNUM IN (TDBL.RNUM)
JOIN-SCANNER 100 ROW LIMIT
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)