Queries to EXA_*_SCRIPTS crash if custom script language names are too long

Details

Detail name Value
Changelog Number 11306
Type Bug
Status Resolved
Affected Versions Exasol 6.2.5, Exasol 7.0.3
Fix Versions Exasol 7.1.0, Exasol 7.1.rc1
Resolution Date 2021-06-23

Description

System tables EXA_*_SCRIPTS allow type names up to 15 characters long.
If there are custom script language type names longer than 15 characters, queries against EXA_*_SCRIPTS will crash the session.

Example preparation

create schema test_scripts;
alter session set SCRIPT_LANGUAGES='MY_LANG_WITH_TO_LONG_NAME=builtin_python';

--/
CREATE OR REPLACE MY_LANG_WITH_TO_LONG_NAME SCALAR SCRIPT test_scripts.hello_world() RETURNS INT AS
def helloWorld():
  return "Hello Python World!"
/

Example

In this case this query crashes.

select * from exa_all_scripts;

Workaround

Use custom script language type names at most 15 characters long.

Fix

Custom script language type names having up to 128 characters are allowed. There is a new check verifying this constraint when a new script is created.