Supported Databases¶
- DB2
- Derby / JavaDB
- H2
- HSQLDB (HyperSQL)
- Microsoft SQL Server
- MySQL
- Oracle
- PostgreSQL
- SQLite
Other SQL databases can be accessed right away with a reduced feature set. Writing a fully featured plugin for your own SQL-based backend can be achieved with a reasonable amount of work. Support for other backends (like NoSQL) is under development but not yet available.
The following capabilities are supported by the profiles. “Yes” means that a capability is fully supported. In other cases it may be partially supported or not at all. See the individual profile’s API documentation for details.
Capability | DB2Profile | DerbyProfile | H2Profile | HsqldbProfile | MySQLProfile | OracleProfile | PostgresProfile | SQLiteProfile | SQLServerProfile |
---|---|---|---|---|---|---|---|---|---|
relational.other | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
relational.columnDefaults | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
relational.foreignKeyActions | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
relational.functionDatabase | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
relational.functionUser | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
relational.indexOf | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
relational.joinFull | Yes | Yes | Yes | Yes | Yes | ||||
relational.joinLeft | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
relational.joinRight | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
relational.likeEscape | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
relational.pagingDrop | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
relational.pagingNested | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
relational.pagingPreciseTake | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
relational.repeat | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
relational.replace | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
relational.reverse | Yes | Yes | Yes | Yes | Yes | Yes | |||
relational.setByteArrayNull | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
relational.typeBigDecimal | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
relational.typeBlob | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
relational.typeLong | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
relational.zip | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
sql.other | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
sql.sequence | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
sql.sequenceCurr | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
sql.sequenceCycle | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
sql.sequenceLimited | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
sql.sequenceMax | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
sql.sequenceMin | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
jdbc.other | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
jdbc.booleanMetaData | Yes | Yes | Yes | Yes | Yes | ||||
jdbc.createModel | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
jdbc.defaultValueMetaData | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
jdbc.distinguishesIntTypes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
jdbc.forUpdate | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
jdbc.forceInsert | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
jdbc.insertOrUpdate | Yes | ||||||||
jdbc.mutable | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
jdbc.nullableNoDefault | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
jdbc.returnInsertKey | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
jdbc.returnInsertOther | Yes | Yes | Yes | Yes | |||||
jdbc.supportsByte | Yes | Yes | Yes |