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.