Improved memory footprint for analytic function on geometry type

Details

Detail name Value
Changelog Number 12283
Type Bug
Status Resolved
Affected Versions Exasol 6.2.0, Exasol 7.0.0
Fix Versions Exasol 7.1.23, Exasol 8.23.0
Resolution Date 2023-09-11

Description

Analytical functions on geometry types may use too much memory, especially on systems with many nodes. This can cause out of memory errors.

Preparation:

create or replace table test.t (g geometry, id int);
insert into test.t values ('POINT(2 5)', 1);

Example:

select first_value(g) over (partition by ID) from test.t;

Workaround

Cast the geometry type to a string type in the query. The string can be casted back to a geometry type after the analytic function. For example:

select cast(first_value(cast (g as varchar(1000))) over (partition by ID) as geometry) from t;

Fix

Analytical functions handle the geometry type more efficiently with a reduced memory footprint.
The reduced memory footprint scales well with the number of nodes.