Embedded Lua interpreter updated to version 5.4

Details

Detail name Value
Changelog Number 10709
Type Improvement
Status Resolved
Fix Versions Exasol 7.1.0
Resolution Date 2021-08-03

Improvement

Exasol's embedded Lua interpreter was updated to the latest version 5.4. This concerns Lua scripting as well as Lua UDFs, which are both now interpreted with Lua 5.4. The SQL interface as well as libraries developed by Exasol remain unchanged.

There are some breaking changes in Lua 5.4 when coming from Lua 5.1. Please refer to the Lua documentation for a full list.

A detailed list of changed behavior can be found here:
http://www.lua.org/manual/5.2/manual.html#8
http://www.lua.org/manual/5.3/manual.html#8
http://www.lua.org/manual/5.4/manual.html#8

The change log can be found here:
http://www.lua.org/manual/5.2/readme.html#changes
http://www.lua.org/manual/5.3/readme.html#changes
http://www.lua.org/manual/5.4/readme.html#changes

 

Exasol's Lua patch tries to minimize the possible migration effort, but please check if your Lua code depends on some of the changed behavior below:

Changed behavior

  • global "module" function was removed
  • table.maxn(table) was removed
  • improved error messages
  • updated embedded Lua packages:
  • luasocket to 3.0
  • luaexpat to 1.3

Changed behavior

Lua scripts using "module" to define modules or table.maxn need to be adjusted. Check the official Lua documentation for the full list of changes.