Query with analytic function referencing a correlated subquery can fail

Details

Detail name Value
Changelog Number 31567
Type Bug
Status Resolved
Affected Versions Exasol 6.2.0, Exasol 7.0.0, Exasol 7.1.0, Exasol 8.0.0, Exasol 8.29.0, Exasol 7.1.30, Exasol 2025.1.0, Exasol 2025.2.0, Exasol 2026.1.0
Fix Versions Exasol 2026.1.1, Exasol 2025.1.13
Resolution Date 2026-07-15

Description

Queries containing an analytic function that references a correlated scalar subquery may faill with an internal server error if the following conditions apply:

  • The query contains an analytic function.
  • The analytic function references a column from a correlated subquery in either the PARTITION BY or ORDER BY clause.
  • The same column appears also in the select list of the query.

Example

SELECT c2, ROW_NUMBER() OVER (PARTITION BY c2)
FROM (SELECT (SELECT 1
              FROM VALUES (101) AS a(a1)
              WHERE a1 = c1) as c2
      FROM (SELECT b1 c1
            FROM VALUES (678) AS b(b1)));

Workaround

Option 1: Add ORDER BY FALSE:

SELECT c2, ROW_NUMBER() OVER (PARTITION BY c2)
FROM (SELECT (SELECT 1
              FROM VALUES (101) AS a(a1)
              WHERE a1 = c1) as c2
      FROM (SELECT b1 c1
            FROM VALUES (678) AS b(b1)) ORDER BY FALSE);

Option 2: Add ROWNUM:

SELECT /* workaround: */ ROWNUM, c2, ROW_NUMBER() OVER (PARTITION BY c2)
FROM (SELECT (SELECT 1
              FROM VALUES (101) AS a(a1)
              WHERE a1 = c1) as c2
      FROM (SELECT b1 c1
            FROM VALUES (678) AS b(b1)));

Fix

Affected queries no longer fail.