Skip to content

Releases: exasol/virtual-schema-common-lua

Release 5.0.0: Support specifying source for `IMPORT` statement

10 Sep 11:04
5e4d09e
Compare
Choose a tag to compare

This release updates ImportQueryBuilder and ImportAppender to allow a custom source for the generated IMPORT FROM statement, e.g. JDBC, EXA and ORA, see the documentation for details.

The release also updates SelectAppender:_append_table() to support catalogs in addition to schemas.

The release also allows specifying a custom quote character for identifiers instead of the default ". This is a breaking change, see below for details.

The release also formats all sources and adds type annotations using LuaLS.

Breaking Change

Class AbstractQueryAppender now requires an AppenderConfig as second argument to the constructor method :new(). If the configuration is missing, the constructor will fail with error message AbstractQueryAppender requires an appender configuration. The following constructors are affected:

  • QueryRenderer:new()
  • AggregateFunctionAppender:new()
  • ExpressionAppender:new()
  • ImportAppender:new()
  • ScalarFunctionAppender:new()
  • SelectAppender:new()

The configuration allows customizing the identifier quote character. If the default value " is OK, you can use the predefined configuration AbstractQueryAppender.DEFAULT_APPENDER_CONFIG.

Features

  • #89: Added support for specifying source for IMPORT statement
  • #91: Added support for catalogs
  • #92: Added support for customizing identifier quote character

4.0.1: Fix Issue With Integer Constants in `GROUP BY`

13 Jul 08:53
cb59eee
Compare
Choose a tag to compare

This release fixes an issue with queries using DISTINCT with integer constants. The Exasol SQL processor turns DISTINCT <integer> into GROUP BY <integer> before push-down as an optimization. The adapter must not feed this back as Exasol interprets integers in GROUP BY clauses as column numbers which could lead to invalid results or the following error:

42000:Wrong column number. Too small value 0 as select list column reference in GROUP BY (smallest possible value is 1)

To fix this, Exasol VS now replaces integer constants in GROUP BY clauses with a constant string.

Please that you can still safely use GROUP BY <column-number> in your original query, since Exasol internally converts this to GROUP BY "<column-name>", so that the virtual schema adapter can tell both situations apart.

Bugfixes

  • #84: Fixed issue with integer constants in GROUP BY

4.0.0: Namespace changed to 'exasol.vscl.'

27 Apr 12:38
4ca0a6c
Compare
Choose a tag to compare

Release 4.0.0 changes the namespace from exasolvs to exasol.vscl. to improve clarity, avoid collisions with namespaces of other Exasol Lua projects and make checking installations in the local Luarocks cache easier. Unfortunately this is a breaking change, hence the new major version.

Refactoring

  • #77: Changed namespace from 'exasolvs' to 'exasol.vscl'.

3.1.0: Validators and API documentation

24 Apr 12:31
a0e1ac1
Compare
Choose a tag to compare

Release 3.1.0 brings validators that originally were created for the Exasol Virtual Schema (Lua), but are in-fact useful for all Virtual Schemas.

For consistency, we moved all tests for classes in exasolvs from spec/ to spec/exasolvs. This has no impact on the generated library.

Additionally, we now generate the API documentation with LDoc.

Refactoring

  • #77: Moved validators from EVSL to VSCL

Documentation

  • #75: CI build now generates API documentation with LDoc

3.0.0: Improved IMPORT

22 Mar 09:17
41b50d7
Compare
Choose a tag to compare

Release 3.0.0 reworked the way imports are handled. Instead of having a wrapper after rendering, we now wrap the push-down statement structure in an import structure and then render it. This is both more convenient and avoids code duplication.

We removed the ImportBuilder and introduced a new ImportQueryBuilder which is used at an earlier stage in the rewriting process.

This is a breaking change, hence the new major version. Please check the developer guide for more information.

Bugfixes

  • #73: Improved building of IMPORT statements

2.4.1: Fixed Rockspec and improved Import Builder

10 Mar 08:10
c69003b
Compare
Choose a tag to compare

Summary

Release 2.4.1 of virtual-schema-common-lua fixes a missing entry in the .rockspec that prevented the ImportBuilder from being included in the package.

Bugfixes

  • #69: Added missing entry to .rockspec

2.4.0: Boolean Properties, IS JSON, LISTAGG

01 Feb 10:37
f20e5c9
Compare
Choose a tag to compare

virtual-schema-common-lua 2.4.0, released 2023-02-01

Code name: Boolean Properties, IS JSON, LISTAGG

Summary

Release 2.4.0 of virtual-schema-common-lua added the methods isTrue and isFalse for checking Virtual Schema properties.

We also added support for the IS [NOT] JSON predicate and the LISTAGG aggregate function.

Known limitation:

The core database does not push the OVER clause that makes the main difference between an analytical function and a regular aggregate function to the Virtual Schema adapter. This means VS push-down supports basic aggregate functions, but no analytical functions.

Features

  • #19: Added LISTAGG aggregate function rendering
  • #60: Added IS [NOT] JSON predicate rendering
  • #63: Added support for boolean Virtual Schema properties

Bugfixes

  • #67: Fixed LISTAGG overflow clause

2.3.0: GROUP BY

17 Oct 13:14
c8640b9
Compare
Choose a tag to compare

virtual-schema-common-lua 2.3.0, released 2022-10-17

Code name: GROUP BY

Summary

Release 2.3.0 of virtual-schema-common-lua can now produce IMPORT statements.

It also adds GROUP BY support.

Known limitation:

The core database does not push the OVER clause that makes the main difference between an analytical function and a regular aggregate function to the Virtual Schema adapter. This means VS push-down supports basic aggregate functions, but no analytical functions.

Also, LISTAGG (#19) is not yet supported.

Features

  • #57: Added GROUP BY support.
  • #59: Added IMPORT support (required for Virtual Schemas with remote connections)

2.2.0: Aggregate functions

28 Sep 10:09
d7a9a61
Compare
Choose a tag to compare

Summary

Release 2.2.0 of virtual-schema-common-lua adds SQL rendering for aggregate functions.
We also removed the standard dependency check, since it only targets Java dependencies and this project is a pure Lua project.

Known limitation:

The core database does not push the OVER clause that make the main difference between an analytical function and a regular aggregate function to the Virtual Schema adapter. This means VS push-down supports basic aggregate functions, but no analytical functions.

Also LISTAGG (#19) is not yet supported.

Features

  • #17: Added rendering for aggregate functions GROUPING and APPROXIMATE COUNT DISTINCT
  • #18: Added rendering aggregate functions that can have an OVER clause. VS does not support pushing OVER though.
  • #47: Removed dependency check CI build
  • #50: Added rendering for GROUP_CONCAT
  • #53: Added test for aggregate function in WHERE clause
  • #54: Enabled all COUNT variants and added more predicates

2.1.0: Merging properties

25 Jul 08:55
56294e5
Compare
Choose a tag to compare

Summary

Release 2.1.0 of virtual-schema-common-lua adds a parameter to the "set properties" request that contains the new properties and a method merge in the class AdapterProperties that allows merging classes.

Features

  • #44: Merging properties