[jOOQ/jOOQ#11737] Add dialect version support for H2

This includes:

- [jOOQ/jOOQ#12007] Column "INFORMATION_SCHEMA.COLUMNS.DOMAIN_SCHEMA"
and "INFORMATION_SCHEMA.COLUMNS.DOMAIN_NAME" not found in H2 1.4.1970
This commit is contained in:
Lukas Eder 2021-06-22 17:14:25 +02:00
parent 220e14c0e3
commit 30d4bc70da
5 changed files with 44 additions and 2 deletions

View File

@ -112,8 +112,8 @@ public class H2TableDefinition extends AbstractTableDefinition {
COLUMNS.COLUMN_DEFAULT,
COLUMNS.REMARKS,
COLUMNS.SEQUENCE_NAME,
COLUMNS.DOMAIN_SCHEMA,
COLUMNS.DOMAIN_NAME
((H2Database) getDatabase()).is1_4_198() ? COLUMNS.DOMAIN_SCHEMA : inline("").as(COLUMNS.DOMAIN_SCHEMA),
((H2Database) getDatabase()).is1_4_198() ? COLUMNS.DOMAIN_NAME : inline("").as(COLUMNS.DOMAIN_NAME)
)
.from(COLUMNS)
.where(COLUMNS.TABLE_SCHEMA.equal(getSchema().getName()))

View File

@ -144,6 +144,24 @@ public enum SQLDialect {
*/
H2("H2", false, true),
/**
* The Hypersonic dialect family.
*/

View File

@ -552,6 +552,8 @@ final class InsertQueryImpl<R extends Record> extends AbstractStoreQuery<R> impl

View File

@ -160,6 +160,8 @@ final class Limit extends AbstractQueryPart {

View File

@ -286,6 +286,8 @@ public class JDBCUtils {
case FIREBIRD:
return firebirdDialect(majorVersion);
case H2:
return h2Dialect(majorVersion, minorVersion, productVersion);
case MARIADB:
return mariadbDialect(majorVersion, minorVersion);
case MYSQL:
@ -427,6 +429,24 @@ public class JDBCUtils {
return FIREBIRD;
}
private static final SQLDialect h2Dialect(int majorVersion, int minorVersion, String productVersion) {
return H2;
}
/**
* "Guess" the {@link SQLDialect} from a connection URL.
*