Using only NULL values inside IN lists may cause errors
Details
| Detail name | Value |
|---|---|
| Changelog Number | 29626 |
| Type | Bug |
| Status | Resolved |
| Affected Versions | Exasol 7.1.0 |
| Fix Versions | Exasol 2026.1.0, Exasol 2025.1.11 |
| Resolution Date | 2026-05-15 |
Description
Using only NULL values inside IN lists may cause an Internal Server Error. This also applies to IN lists with tuples.
Example:
CREATE OR REPLACE TABLE in_list(i INT, vc_string VARCHAR(100)); INSERT INTO in_list VALUES (1, 'abcde'); INSERT INTO in_list VALUES (2, NULL); -- Example #1 -- Expected: 1 row -- Observed: internal server error SELECT * FROM in_list WHERE vc_string IN (NULL, NULL); -- Example #2 -- Expected: 1 row -- Observed: internal server error SELECT * FROM in_list WHERE (vc_string, vc_string) IN ((NULL, NULL), (NULL, NULL));
Workaround
Do not use IN lists for such conditions. If you actually want to check if the value is NULL, then IS NULL predicate could be used.
-- Example #1 SELECT * FROM in_list WHERE vc_string IS NULL; -- Example #2 SELECT * FROM in_list WHERE vc_string IS NULL;
Fix
The queries work as intended.