Optimized the X DevAPI expression parser for both structure and performance. The X DevAPI expressions are now encapsulated in a corresponding
Exprmodule, and are parsed at the stage where they are used. The expression parser became stateless and is no longer re-created every time an expression is used, and all protobuf messages are now only constructed at the corresponding adapter.
mysqlx.expr()now returns an X DevAPI Expr instance instead of a protobuf message instance.
Updated dependencies to the latest versions compatible with the minimum required Node.js engine version (v14.0.0), namely google-protobuf to 3.21.2. Also updated these devDependencies entries: chai to v4.3.6, dns2 to v2.0.5, and mocha to v10.0.0. Updated the test suite to account for breaking changes introduced by the dns2 update.
On Linux and macOS, added a script that builds and runs a Docker container to execute the test suite. Only a running MySQL server is needed to run this test suite, see