Table value constructor with very small HASHTYPE returns wrong results

Details

Detail name Value
Changelog Number 13430
Type Bug
Status Resolved
Affected Versions Exasol 7.0.0, Exasol 7.1.0
Fix Versions Exasol 7.0.14, Exasol 7.1.4
Resolution Date 2021-11-26

Description

A query with a Table Value Constructor (VALUES clause) that projects a very small HASHTYPE column (1, 2, or 3-bytes) can return wrong results on a multi-node system.

-- Expected: 2 row
-- Observed: Maybe 3 or 4 rows
select * from values (cast('ef' as hashtype(1 byte))), (cast('ef' as hashtype(1 byte)));

Workaround

Use SELECTs without a Table Value Constructor, and UNION ALL for more than one value. For the example above:

select (cast('ef' as hashtype(1 byte)))
union all
select (cast('ef' as hashtype(1 byte)));

Fix

The correct number of rows will be returned.