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.