- java.lang.Object
-
- java.lang.Enum<SQLDialect>
-
- org.jooq.SQLDialect
-
- All Implemented Interfaces:
Serializable
,Comparable<SQLDialect>
public enum SQLDialect extends Enum<SQLDialect>
Dialects and dialect families as supported by jOOQ.The commercial jOOQ distributions support a variety of dialects, which are grouped into dialect families. For instance, the PostgreSQL dialect family
POSTGRES
is specialised by its dialectsPOSTGRES_9_3
POSTGRES_9_4
POSTGRES_9_5
POSTGRES_10
POSTGRES_11
#POSTGRES_12
The open source jOOQ distributions only support the dialect family, which corresponds to the latest supported dialect version of the commercial distribution.
If a dialect is documented but does not seem to be available in your jOOQ Edition, you may be using the wrong edition, e.g. because of a transitive dependency introduced by Spring Boot. See this article about how to exclude such transitive dependencies from your classpath https://blog.jooq.org/2019/06/26/how-to-use-jooqs-commercial-distributions-with-spring-boot/.
- Author:
- Lukas Eder
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
SQLDialect.ThirdParty
Third party representations of the enclosingSQLDialect
.
-
Enum Constant Summary
Enum Constants Enum Constant Description ACCESS
The MS Access dialect family.ACCESS2013
The MS Access 2013 dialect.ASE
The Sybase Adaptive Server dialect family.AURORA_MYSQL
The Amazon Aurora MySQL Edition dialect family.AURORA_POSTGRES
The Amazon Aurora PostgreSQL Edition dialect family.COCKROACHDB
The CockroachDB dialect family.CUBRID
Deprecated.- [#9403] - 3.13.0 - This dialect is hardly used by anyone with jOOQ or without jOOQ and will be removed in the near future.DB2
The IBM DB2 dialect family.DB2_10
The IBM DB2 10.x dialect.DB2_11
The IBM DB2 11.x dialect.DB2_9
The IBM DB2 9.x dialect.DEFAULT
The default SQL dialect.DERBY
The Apache Derby dialect family.FIREBIRD
The Firebird dialect family.FIREBIRD_2_5
The Firebird 2.5 dialect.FIREBIRD_3_0
The Firebird 3.0 dialect.H2
The H2 dialect family.HANA
The SAP HANA dialect.HSQLDB
The Hypersonic dialect family.INFORMIX
The Informix dialect.INGRES
The Ingres dialect family.MARIADB
The MariaDB dialect family.MARIADB_10_0
The MariaDB 10.0 dialect.MARIADB_10_1
The MariaDB 10.1 dialect.MARIADB_10_2
The MariaDB 10.2 dialect.MARIADB_10_3
The MariaDB 10.3 dialect.MARIADB_10_4
The MariaDB 10.4 dialect.MARIADB_10_5
The MariaDB 10.5 dialect.MEMSQL
The MemSQL dialect family.MYSQL
The MySQL dialect family.MYSQL_5_7
The MySQL 5.7 dialect.MYSQL_8_0
The MySQL 8.0.0 dialect.MYSQL_8_0_19
The MySQL 8.0.19 dialect.ORACLE
The Oracle dialect family.ORACLE10G
The Oracle 10g dialect.ORACLE11G
The Oracle 11g dialect.ORACLE12C
The Oracle 12c dialect.ORACLE18C
The Oracle 18c dialect.POSTGRES
The PostgreSQL dialect family.POSTGRES_10
The PostgreSQL 10 dialect.POSTGRES_11
The PostgreSQL 11 dialect.POSTGRES_9_3
The PostgreSQL 9.3 dialect.POSTGRES_9_4
The PostgreSQL 9.4 dialect.POSTGRES_9_5
The PostgreSQL 9.5 dialect.POSTGRESPLUS
Deprecated.- This dialect is not yet supported by jOOQ.REDSHIFT
The Amazon Redshift dialect.SQL99
Deprecated.- [#3844] - 3.6.0 -DEFAULT
will replace this pseudo-dialect.SQLDATAWAREHOUSE
The SQL Data Warehouse (Azure Synapse Analytics) family.SQLITE
The SQLite dialect family.SQLITE_3_25
The SQLite 3.25 dialect.SQLITE_3_28
The SQLite 3.28 dialect.SQLITE_3_30
The SQLite 3.30 dialect.SQLSERVER
The SQL Server dialect family.SQLSERVER2008
The SQL Server 2008 dialect.SQLSERVER2012
The SQL Server 2012 dialect.SQLSERVER2014
The SQL Server 2014 dialect.SQLSERVER2016
The SQL Server 2016 dialect.SQLSERVER2017
The SQL Server 2016 dialect.SYBASE
The Sybase SQL Anywhere dialect family.TERADATA
The Teradata dialect family.VERTICA
The Vertica dialect family.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
commercial()
Whether this dialect is supported with the jOOQ commercial license only.static SQLDialect[]
families()
Get a list of allfamily()
values.SQLDialect
family()
The dialect family.String
getName()
The name of this dialect as it appears in related class names.String
getNameLC()
The name of this dialect as it appears in related package names.String
getNameUC()
The name of this dialect as it appears in related enum values.boolean
isFamily()
Whether this dialect is afamily()
.boolean
precedes(SQLDialect other)
Whether this dialect precedes an other dialect from the same family.SQLDialect
predecessor()
The predecessor dialect.Set<SQLDialect>
predecessors()
The predecessor dialects.static Set<SQLDialect>
predecessors(SQLDialect... dialects)
Get a set of dialects preceding a given set of dialects.boolean
supported()
Whether this dialect is supported by jOOQ as an output dialect.static Set<SQLDialect>
supportedBy(SQLDialect dialect)
Get a set of supported dialect versions and successors given a dialect version.static Set<SQLDialect>
supportedBy(SQLDialect... dialects)
Get a set of supported dialect versions and successors given a set of dialect versions.static Set<SQLDialect>
supportedUntil(SQLDialect dialect)
Get a set of supported dialect versions and predecessors given a dialect version.static Set<SQLDialect>
supportedUntil(SQLDialect... dialects)
Get a set of supported dialect versions and predecessors given a dialect version.boolean
supports(Collection<SQLDialect> other)
Check whether this dialect supports any dialect from the argument collection.boolean
supports(SQLDialect other)
Check whether this dialect supports another one.SQLDialect.ThirdParty
thirdParty()
Get access to third party representations of thisSQLDialect
.static SQLDialect
valueOf(String name)
Returns the enum constant of this type with the specified name.static SQLDialect[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
SQL99
@Deprecated public static final SQLDialect SQL99
Deprecated.- [#3844] - 3.6.0 -DEFAULT
will replace this pseudo-dialect.The standard SQL dialect family.
-
DEFAULT
public static final SQLDialect DEFAULT
The default SQL dialect.This dialect is chosen in the absence of a more explicit dialect. It is not intended to be used with any actual database as it may combined dialect-specific things from various dialects.
-
CUBRID
@Deprecated public static final SQLDialect CUBRID
Deprecated.- [#9403] - 3.13.0 - This dialect is hardly used by anyone with jOOQ or without jOOQ and will be removed in the near future.The CUBRID dialect family.
-
DERBY
public static final SQLDialect DERBY
The Apache Derby dialect family.
-
FIREBIRD
public static final SQLDialect FIREBIRD
The Firebird dialect family.This family behaves like the versioned dialect
FIREBIRD_3_0
.
-
FIREBIRD_2_5
@Pro public static final SQLDialect FIREBIRD_2_5
The Firebird 2.5 dialect.This dialect is available in commercial jOOQ distributions, only.
-
FIREBIRD_3_0
@Pro public static final SQLDialect FIREBIRD_3_0
The Firebird 3.0 dialect.This dialect is available in commercial jOOQ distributions, only.
-
H2
public static final SQLDialect H2
The H2 dialect family.
-
HSQLDB
public static final SQLDialect HSQLDB
The Hypersonic dialect family.
-
MARIADB
public static final SQLDialect MARIADB
The MariaDB dialect family.This family behaves like the versioned dialect
MARIADB_10_5
.
-
MARIADB_10_0
@Pro public static final SQLDialect MARIADB_10_0
The MariaDB 10.0 dialect.This dialect is available in commercial jOOQ distributions, only.
-
MARIADB_10_1
@Pro public static final SQLDialect MARIADB_10_1
The MariaDB 10.1 dialect.This dialect is available in commercial jOOQ distributions, only.
-
MARIADB_10_2
@Pro public static final SQLDialect MARIADB_10_2
The MariaDB 10.2 dialect.This dialect is available in commercial jOOQ distributions, only.
-
MARIADB_10_3
@Pro public static final SQLDialect MARIADB_10_3
The MariaDB 10.3 dialect.This dialect is available in commercial jOOQ distributions, only.
-
MARIADB_10_4
@Pro public static final SQLDialect MARIADB_10_4
The MariaDB 10.4 dialect.This dialect is available in commercial jOOQ distributions, only.
-
MARIADB_10_5
@Pro public static final SQLDialect MARIADB_10_5
The MariaDB 10.5 dialect.This dialect is available in commercial jOOQ distributions, only.
-
MYSQL
public static final SQLDialect MYSQL
The MySQL dialect family.This family behaves like the versioned dialect
MYSQL_8_0_19
.
-
MYSQL_5_7
@Pro public static final SQLDialect MYSQL_5_7
The MySQL 5.7 dialect.This dialect is available in commercial jOOQ distributions, only.
-
MYSQL_8_0
@Pro public static final SQLDialect MYSQL_8_0
The MySQL 8.0.0 dialect.This dialect is available in commercial jOOQ distributions, only.
-
MYSQL_8_0_19
@Pro public static final SQLDialect MYSQL_8_0_19
The MySQL 8.0.19 dialect.This dialect is available in commercial jOOQ distributions, only.
-
POSTGRES
public static final SQLDialect POSTGRES
The PostgreSQL dialect family.This family behaves like the versioned dialect
POSTGRES_11
.While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official
REDSHIFT
support, instead.
-
POSTGRES_9_3
@Pro public static final SQLDialect POSTGRES_9_3
The PostgreSQL 9.3 dialect.While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official
REDSHIFT
support, instead.This dialect is available in commercial jOOQ distributions, only.
-
POSTGRES_9_4
@Pro public static final SQLDialect POSTGRES_9_4
The PostgreSQL 9.4 dialect.While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official
REDSHIFT
support, instead.This dialect is available in commercial jOOQ distributions, only.
-
POSTGRES_9_5
@Pro public static final SQLDialect POSTGRES_9_5
The PostgreSQL 9.5 dialect.While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official
REDSHIFT
support, instead.This dialect is available in commercial jOOQ distributions, only.
-
POSTGRES_10
@Pro public static final SQLDialect POSTGRES_10
The PostgreSQL 10 dialect.While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official
REDSHIFT
support, instead.This dialect is available in commercial jOOQ distributions, only.
-
POSTGRES_11
@Pro public static final SQLDialect POSTGRES_11
The PostgreSQL 11 dialect.While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official
REDSHIFT
support, instead.This dialect is available in commercial jOOQ distributions, only.
-
SQLITE
public static final SQLDialect SQLITE
The SQLite dialect family.This family behaves like the versioned dialect
SQLITE_3_30
.
-
SQLITE_3_25
@Pro public static final SQLDialect SQLITE_3_25
The SQLite 3.25 dialect.This dialect is available in commercial jOOQ distributions, only.
-
SQLITE_3_28
@Pro public static final SQLDialect SQLITE_3_28
The SQLite 3.28 dialect.This dialect is available in commercial jOOQ distributions, only.
-
SQLITE_3_30
@Pro public static final SQLDialect SQLITE_3_30
The SQLite 3.30 dialect.This dialect is available in commercial jOOQ distributions, only.
-
ACCESS
@Pro public static final SQLDialect ACCESS
The MS Access dialect family.This family behaves like the versioned dialect
ACCESS2013
.This dialect is available in commercial jOOQ distributions, only.
-
ACCESS2013
@Pro public static final SQLDialect ACCESS2013
The MS Access 2013 dialect.This dialect is available in commercial jOOQ distributions, only.
-
ASE
@Pro public static final SQLDialect ASE
The Sybase Adaptive Server dialect family.This dialect is available in commercial jOOQ distributions, only.
-
AURORA_MYSQL
@Pro public static final SQLDialect AURORA_MYSQL
The Amazon Aurora MySQL Edition dialect family.This dialect is available in commercial jOOQ distributions, only.
-
AURORA_POSTGRES
@Pro public static final SQLDialect AURORA_POSTGRES
The Amazon Aurora PostgreSQL Edition dialect family.This dialect is available in commercial jOOQ distributions, only.
-
COCKROACHDB
@Pro public static final SQLDialect COCKROACHDB
The CockroachDB dialect family.This dialect is available in commercial jOOQ distributions, only.
-
DB2
@Pro public static final SQLDialect DB2
The IBM DB2 dialect family.This family behaves like the versioned dialect
DB2_11
.This dialect is available in commercial jOOQ distributions, only.
-
DB2_9
@Pro public static final SQLDialect DB2_9
The IBM DB2 9.x dialect.This dialect is available in commercial jOOQ distributions, only.
-
DB2_10
@Pro public static final SQLDialect DB2_10
The IBM DB2 10.x dialect.This dialect is available in commercial jOOQ distributions, only.
-
DB2_11
@Pro public static final SQLDialect DB2_11
The IBM DB2 11.x dialect.This dialect is available in commercial jOOQ distributions, only.
-
HANA
@Pro public static final SQLDialect HANA
The SAP HANA dialect.This dialect is available in commercial jOOQ distributions, only.
-
INFORMIX
@Pro public static final SQLDialect INFORMIX
The Informix dialect.This dialect is available in commercial jOOQ distributions, only.
-
INGRES
@Pro public static final SQLDialect INGRES
The Ingres dialect family.This dialect is available in commercial jOOQ distributions, only.
-
MEMSQL
@Pro public static final SQLDialect MEMSQL
The MemSQL dialect family.This dialect is available in commercial jOOQ distributions, only.
-
ORACLE
@Pro public static final SQLDialect ORACLE
The Oracle dialect family.This family behaves like the versioned dialect
ORACLE18C
.This dialect is available in commercial jOOQ distributions, only.
-
ORACLE10G
@Pro public static final SQLDialect ORACLE10G
The Oracle 10g dialect.This dialect is available in commercial jOOQ distributions, only.
-
ORACLE11G
@Pro public static final SQLDialect ORACLE11G
The Oracle 11g dialect.This dialect is available in commercial jOOQ distributions, only.
-
ORACLE12C
@Pro public static final SQLDialect ORACLE12C
The Oracle 12c dialect.This dialect is available in commercial jOOQ distributions, only.
-
ORACLE18C
@Pro public static final SQLDialect ORACLE18C
The Oracle 18c dialect.This dialect is available in commercial jOOQ distributions, only.
-
POSTGRESPLUS
@Deprecated @Pro public static final SQLDialect POSTGRESPLUS
Deprecated.- This dialect is not yet supported by jOOQ.The Postgres Plus dialect family.This dialect is available in commercial jOOQ distributions, only.
-
REDSHIFT
@Pro public static final SQLDialect REDSHIFT
The Amazon Redshift dialect.This dialect is available in commercial jOOQ distributions, only.
-
SQLSERVER
@Pro public static final SQLDialect SQLSERVER
The SQL Server dialect family.This family behaves like the versioned dialect
SQLSERVER2017
.Use this family (or its dialects) for SQL Server or Azure SQL Database.
This dialect is available in commercial jOOQ distributions, only.
-
SQLSERVER2008
@Pro public static final SQLDialect SQLSERVER2008
The SQL Server 2008 dialect.Use this family (or its dialects) for SQL Server or Azure SQL Database.
This dialect is available in commercial jOOQ distributions, only.
-
SQLSERVER2012
@Pro public static final SQLDialect SQLSERVER2012
The SQL Server 2012 dialect.Use this family (or its dialects) for SQL Server or Azure SQL Database.
This dialect is available in commercial jOOQ distributions, only.
-
SQLSERVER2014
@Pro public static final SQLDialect SQLSERVER2014
The SQL Server 2014 dialect.Use this family (or its dialects) for SQL Server or Azure SQL Database.
This dialect is available in commercial jOOQ distributions, only.
-
SQLSERVER2016
@Pro public static final SQLDialect SQLSERVER2016
The SQL Server 2016 dialect.Use this family (or its dialects) for SQL Server or Azure SQL Database.
This dialect is available in commercial jOOQ distributions, only.
-
SQLSERVER2017
@Pro public static final SQLDialect SQLSERVER2017
The SQL Server 2016 dialect.Use this family (or its dialects) for SQL Server or Azure SQL Database.
This dialect is available in commercial jOOQ distributions, only.
-
SQLDATAWAREHOUSE
@Pro public static final SQLDialect SQLDATAWAREHOUSE
The SQL Data Warehouse (Azure Synapse Analytics) family.This dialect is available in commercial jOOQ distributions, only.
-
SYBASE
@Pro public static final SQLDialect SYBASE
The Sybase SQL Anywhere dialect family.This dialect is available in commercial jOOQ distributions, only.
-
TERADATA
@Pro public static final SQLDialect TERADATA
The Teradata dialect family.This dialect is available in commercial jOOQ distributions, only.
-
VERTICA
@Pro public static final SQLDialect VERTICA
The Vertica dialect family.This dialect is available in commercial jOOQ distributions, only.
-
-
Method Detail
-
values
public static SQLDialect[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (SQLDialect c : SQLDialect.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static SQLDialect valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
families
public static final SQLDialect[] families()
Get a list of allfamily()
values.
-
predecessors
public static final Set<SQLDialect> predecessors(SQLDialect... dialects)
Get a set of dialects preceding a given set of dialects.The resulting set of dialects contain all the families and dialect versions that precede the argument dialects.
-
supportedUntil
public static final Set<SQLDialect> supportedUntil(SQLDialect dialect)
Get a set of supported dialect versions and predecessors given a dialect version.The resulting set of dialects contain all the families and dialect versions that precede the argument dialect.
-
supportedUntil
public static final Set<SQLDialect> supportedUntil(SQLDialect... dialects)
Get a set of supported dialect versions and predecessors given a dialect version.The resulting set of dialects contain all the families and dialect versions that precede the argument dialect.
-
supportedBy
public static final Set<SQLDialect> supportedBy(SQLDialect dialect)
Get a set of supported dialect versions and successors given a dialect version.The resulting set of dialects contain all the families and dialect versions that support the argument dialect, i.e. that succeed it.
-
supportedBy
public static final Set<SQLDialect> supportedBy(SQLDialect... dialects)
Get a set of supported dialect versions and successors given a set of dialect versions.The resulting set of dialects contain all the families and dialect versions that support the argument dialects, i.e. that succeed them.
-
commercial
public final boolean commercial()
Whether this dialect is supported with the jOOQ commercial license only.
-
supported
public final boolean supported()
Whether this dialect is supported by jOOQ as an output dialect.Unsupported, non-output dialects include:
DEFAULT
: A hypothetical dialect used forQueryPart.toString()
calls of unattached query parts.SQL99
: A legacy version ofDEFAULT
.POSTGRESPLUS
: A not yet supported dialect.
-
family
public final SQLDialect family()
The dialect family.This returns the dialect itself, if it has no "parent family". E.g.
SQLSERVER == SQLSERVER2012.family(); SQLSERVER == SQLSERVER2008.family(); SQLSERVER == SQLSERVER.family();
-
isFamily
public final boolean isFamily()
Whether this dialect is afamily()
.
-
predecessor
public final SQLDialect predecessor()
The predecessor dialect.If this is a dialect version (e.g.
POSTGRES_9_4
) within a family (e.g.POSTGRES
), then the predecessor will point to the historically previous dialect version (e.g.POSTGRES_9_3
) within the same family, or to the dialect itself if there was no predecessor explicitly supported by jOOQ.
-
predecessors
public final Set<SQLDialect> predecessors()
The predecessor dialects.Recursively calls
predecessor()
and finds all the preceding dialects to this one, including this one.
-
precedes
public final boolean precedes(SQLDialect other)
Whether this dialect precedes an other dialect from the same family.This returns:
true
if this dialect is the same as the other dialecttrue
if this dialect precedes the other dialect via any number of calls topredecessor()
false
if the two dialects do not belong to the same family
This is useful to see if some feature is supported by "at least" a given dialect version. Example:
// Do this block only if the chosen dialect supports PostgreSQL 9.4+ features if (POSTGRES_9_4.precedes(dialect)) { } // Do this block only if the chosen dialect supports PostgreSQL 9.3+ features else if (POSTGRES_9_3.precedes(dialect)) { } // Fall back to pre-PostgreSQL 9.3 behaviour else { }
-
supports
public final boolean supports(SQLDialect other)
Check whether this dialect supports another one.This is:
false
if dialects don't belong to the same familytrue
if either dialectisFamily()
true
ifother
dialect precedes this dialect
The
other
argument dialect is typically referenced from aSupport
annotation, whereas this dialect is the user dialect.
-
supports
public final boolean supports(Collection<SQLDialect> other)
Check whether this dialect supports any dialect from the argument collection.
-
getName
public final String getName()
The name of this dialect as it appears in related class names.
-
getNameLC
public final String getNameLC()
The name of this dialect as it appears in related package names.
-
getNameUC
public final String getNameUC()
The name of this dialect as it appears in related enum values.
-
thirdParty
public final SQLDialect.ThirdParty thirdParty()
Get access to third party representations of thisSQLDialect
.
-
-