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.