- 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 SQL Server dialect family
POSTGRESis specialised by its dialects- Author:
- Lukas Eder
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classSQLDialect.ThirdPartyThird party representations of the enclosingSQLDialect.
-
Enum Constant Summary
Enum Constants Enum Constant Description ACCESSThe MS Access dialect family.ACCESS2013The MS Access 2013 dialect.ASEThe Sybase Adaptive Server dialect family.AURORA_MYSQLThe Amazon Aurora MySQL Edition dialect family.AURORA_POSTGRESThe Amazon Aurora PostgreSQL Edition dialect family.CUBRIDThe CUBRID dialect family.DB2The IBM DB2 dialect family.DB2_10The IBM DB2 10.x dialect.DB2_11The IBM DB2 11.x dialect.DB2_9The IBM DB2 9.x dialect.DEFAULTThe default SQL dialect.DERBYThe Apache Derby dialect family.FIREBIRDThe Firebird dialect family.FIREBIRD_2_5The Firebird 2.5 dialect.FIREBIRD_3_0The Firebird 3.0 dialect.H2The H2 dialect family.HANAThe SAP HANA dialect.HSQLDBThe Hypersonic dialect family.INFORMIXThe Informix dialect.INGRESThe Ingres dialect family.MARIADBThe MariaDB dialect family.MEMSQLThe MemSQL dialect family.MYSQLThe MySQL dialect family.MYSQL_5_7The MySQL 5.7 dialect.MYSQL_8_0The MySQL 8.0 dialect.ORACLEThe Oracle dialect family.ORACLE10GThe Oracle 10g dialect.ORACLE11GThe Oracle 11g dialect.ORACLE12CThe Oracle 12c dialect.ORACLE18CThe Oracle 18c dialect.POSTGRESThe PostgreSQL dialect family.POSTGRES_10The PostgreSQL 10 dialect.POSTGRES_11The PostgreSQL 11 dialect.POSTGRES_9_3The PostgreSQL 9.3 dialect.POSTGRES_9_4The PostgreSQL 9.4 dialect.POSTGRES_9_5The PostgreSQL 9.5 dialect.POSTGRESPLUSDeprecated.- This dialect is not yet supported by jOOQ.REDSHIFTThe Amazon Redshift dialect.SQL99Deprecated.- [#3844] - 3.6.0 -DEFAULTwill replace this pseudo-dialect.SQLDATAWAREHOUSEThe SQL Data Warehouse family.SQLITEThe SQLite dialect family.SQLITE_3_25The SQLite 3.25 dialect.SQLITE_3_28The SQLite 3.28 dialect.SQLSERVERThe SQL Server dialect family.SQLSERVER2008The SQL Server 2008 dialect.SQLSERVER2012The SQL Server 2012 dialect.SQLSERVER2014The SQL Server 2014 dialect.SQLSERVER2016The SQL Server 2016 dialect.SQLSERVER2017The SQL Server 2016 dialect.SYBASEThe Sybase SQL Anywhere dialect family.TERADATAThe Teradata dialect family.VERTICAThe Vertica dialect family.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancommercial()Whether this dialect is supported with the jOOQ commercial license only.static SQLDialect[]families()Get a list of allfamily()values.SQLDialectfamily()The dialect family.StringgetName()The name of this dialect as it appears in related class names.StringgetNameLC()The name of this dialect as it appears in related package names.StringgetNameUC()The name of this dialect as it appears in related enum values.booleanisFamily()Whether this dialect is afamily().booleanprecedes(SQLDialect other)Whether this dialect precedes an other dialect from the same family.SQLDialectpredecessor()The predecessor dialect.booleansupported()Whether this dialect is supported by jOOQ as an output dialect.booleansupports(Collection<SQLDialect> other)Check whether this dialect supports any dialect from the argument collection.booleansupports(SQLDialect other)Check whether this dialect supports another one.SQLDialect.ThirdPartythirdParty()Get access to third party representations of thisSQLDialect.static SQLDialectvalueOf(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 -DEFAULTwill 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
public static final SQLDialect CUBRID
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.
-
MYSQL
public static final SQLDialect MYSQL
The MySQL dialect family.This family behaves like the versioned dialect
MYSQL_8_0.
-
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 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
REDSHIFTsupport, 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
REDSHIFTsupport, 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
REDSHIFTsupport, 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
REDSHIFTsupport, 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
REDSHIFTsupport, 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
REDSHIFTsupport, 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_28.
-
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.
-
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.
-
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 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
-
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.
-
precedes
public final boolean precedes(SQLDialect other)
Whether this dialect precedes an other dialect from the same family.This returns:
trueif this dialect is the same as the other dialecttrueif this dialect precedes the other dialect via any number of calls topredecessor()
falseif 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:
falseif dialects don't belong to the same familytrueif either dialectisFamily()trueifotherdialect precedes this dialect
The
otherargument dialect is typically referenced from aSupportannotation, 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.
-
families
public static final SQLDialect[] families()
Get a list of allfamily()values.
-
thirdParty
public final SQLDialect.ThirdParty thirdParty()
Get access to third party representations of thisSQLDialect.
-
-