MySQL 9 Adds Support For JavaScript Stored Procedures
Written by Kay Ewbank   
Thursday, 11 July 2024

Oracle has announced that support for JavaScript functions and stored procedures has been added to the MySQL database server. The enhancements were added to MySQL 9, an 'innovation release', which was made at the same time as Oracle released the next update for 8.0 and the first update of the 8.4 LTS (Long-term Support) version.

MySQL is an open source relational database that was originally developed by Monty Widenius and David Axmark in 1994-5. The commercial version is owned and developed by Oracle following a sequence of company purchases.

mysql

The improvements to MySQL 8 and 8.4 are largely bug fixes and minor changes to improve security, and most of the improvements to MySQL 9 were first announced in the preview version at the start of the year. The support for JavaScript as a language for stored procedures and functions was one such improvement that was first announced in the preview version of MySQL Enterprise Edition and MySQL Heatwave, the commercial versions owned by Oracle. MySQL Heatwave is a cloud service on OCI, AWS and Azure. At the point the preview was announced, there was no information on when similar support might be added to the community edition. and that remains the case.

Support for using SQL for stored procedures is obviously still there, but Oracle says the addition of support for JavaScript stored programs means users can "express rich procedural logic inside the database". In the commercial editions, the stored programs will be run with the GraalVM runtime, and the integration means users gain access to all GraalVM's Enterprise Edition (EE) features such as compiler optimizations, performance, and security features.

GraalVM is an Oracle compiler eco-system that includes JDK, language implementations such as JavaScript, R, Python, Ruby and Java. It includes just-in-time (JIT) and ahead-of-time (AOT) compilation technology.  It also provides a fully managed virtual machine with sandboxing capability and tooling support. MySQL-JavaScript is integrated with GraalVM Enterprise edition.

This release has support for JavaScript based on ECMAScript 2021, including the ECMAScript standard library which Oracle points out opens millions of available third party packages from online package managers such as npm.

Away from the JavaScript additions, three new statements have been added to the Event Scheduler in the form of Create Event, Alter Event and Drop Event. These statements don't run unless the Event Scheduler is enabled, and positional parameters (? placeholders) are not supported for these statements; you must assemble the text of the statement to be prepared from some combination of string literals, system variables, and user variables.

Support has also been added to the commercial versions of MySQL 9 for a vector column type. A vector is a data structure which consists of a list of entries (4-byte floating-point values) which can be expressed either as a binary string value or a list-formatted string. Vector columns are subject to restrictions, so you can't use them for any types of keys, and some types of MySQL functions and operators don't accept vectors as arguments.

Security improvements in this version include the removal of the mysql_native_password authentication plugin, deprecated in MySQL 8.0,  and the server now rejects mysql_native authentication requests from older client programs which do not have CLIENT_PLUGIN_AUTH capability.

Alongside the new releases, Oracle has also released updated versions of MySQL Clients, Tools, and Connectors, with the recommendation that these are the best choices not only for MySQL 9, but also  are also for MySQL Server 8.0 and 8.4 LTS.

Oracle has now moved MySQL 9 onto a three-monthly schedule, with version 9.1 scheduled for October with new features and bug fixes.

mysql

More Information

MySQL Website

Related Articles

MySQL 8 Improves JSON

MySQL Reaches Milestone 8 Release

MySQL 5.7

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Discover PostgreSQL How-Tos
16/12/2024

A veritable treasure trove of assorted how-to recipes for PostgreSQL, stored as a Github repository, has been started by Nikolay Samokhvalov, well known in the PostgreSQL world.



A Tee Is Not Just For Xmas - Top Tees
20/12/2024

Programmer gifts - easy idea, difficult implementation.  Here's our pick of tee-shirts for giving, buying or just wearing at any time of the year.


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Thursday, 11 July 2024 )