Database support

The following databases were tested for, with specifics noted below:

  • Postgres v. 10
  • H2 v. 1.4.200
  • HSQL v. 2.5.0
  • Oracle v. 18.4.0.0.0 (18c)

Many of Light Air features are implemented in a generic way and should work on other databases as well.

Data types support

Data  type Database Support
SMALLINT, INTEGER, BIGINT Fully supported.
DECIMAL, NUMERIC Fully supported.
NUMBER, FLOAT Oracle Fully supported.
REAL, DOUBLE PRECISION Fully supported.
BINARY_FLOAT, BINARY_DOUBLE Oracle Fully supported.
VARCHAR Fully supported.
TEXT, CITEXT Postgres Fully supported.
VARCHAR2, NVARCHAR2 Oracle Fully supported.
CHAR H2 @auto in Verify is not supported. H2 does not support proper CHAR data type. 
See this topic.
Other Fully supported.
NCHAR Oracle Fully supported.
DATE, TIMESTAMP Fully supported. Use ISO format 2020-12-31 and 2021-11-30T22:57:56.789.
TIME Oracle Does not exist. Use TIMESTAMP instead.
Other Fully supported. Use ISO format 23:59:58.
BOOLEAN Oracle Does not exist. Use NUMBER(1) and 0 and 1 instead of false and true
@auto is not supported.
Other Fully supported. Use true and false.
CLOB, BLOB, BINARY H2, HSQL Fully supported. Use Base64 encoding.
CLOB, NCLOB Oracle Fully supported. Use plain text.
BLOB, RAW Oracle Fully supported. Use Base64 encoding.
BYTEA Postgres Fully supported. Use Base64 encoding.
UUID H2, HSQL, Postgres Fully supported. Use standard textual representation a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11.
ENUM Postgres Create cast as follows: 
create cast (varchar as my_enum_type) with inout as implicit; 
@auto is not supported. 
Postgres JDBC driver does not inform that the data type is ENUM, so Light Air has to treat it as VARCHAR.
JSON, JSONB Postgres Fully supported.
ARRAY Postgres 1-dimensional arrays of VARCHAR, TEXT, INTEGER and BIGINT are fully supported. 
Use comma , to separate array elements. Use @null token to indicate NULL array element. 
Empty string value represents empty array.
H2 1-dimensional arrays are treated as if the base type was unlimited VARCHAR (Java String in fact), but otherwise are fully supported.
Next: Development >>