Count(*) returns NULL instead of 0

Details

Detail name Value
Changelog Number 3514
Type Bug
Status Resolved
Affected Versions EXASOL 6.0.0, EXASolution 4.2.15, EXASolution 5.0.16
Fix Versions EXASOL 6.0.0, EXASolution 5.0.17, EXASOL 6.0.beta3
Resolution Date 2016-12-05

In queries with correlated sub-selects COUNT(*) might return NULL instead of 0. Statements using COUNT(<column>) are not affected.

Example:

CREATE OR REPLACE TABLE t1(a int);
INSERT INTO t1 VALUES 1,2;

CREATE OR REPLACE TABLE t2(a int);
INSERT INTO t2 VALUES 1,2,3;

SELECT t2.a,( SELECT COUNT(*)
            FROM
                t1
            WHERE
                 t2.a = t1.a
        ) c FROM t2; 

Result:

A	C
1	1
2	1
3	

But it has to be:

A	C
1	1
2	1
3	0