- Alle implementierten Schnittstellen:
Serializable,Comparable<SQLDialect>,Constable
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 dialects
-
Ungültige Referenz
#POSTGRES_9_3 -
Ungültige Referenz
#POSTGRES_9_4 -
Ungültige Referenz
#POSTGRES_9_5 -
Ungültige Referenz
#POSTGRES_10 -
Ungültige Referenz
#POSTGRES_11 -
Ungültige Referenz
#POSTGRES_12 -
Ungültige Referenz
#POSTGRES_13 -
Ungültige Referenz
#POSTGRES_14
The open source jOOQ distributions only support the dialect family, which corresponds to the latest supported dialect version of the commercial distribution. A full list of mappings between dialect families and latest supported version can be seen here https://www.jooq.org/download/support-matrix.
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/how-to-use-jooqs-commercial-distributions-with-spring-boot/.
- Autor:
- Lukas Eder
-
Verschachtelte Klassen - Übersicht
Verschachtelte KlassenModifizierer und TypKlasseBeschreibungfinal classThird party representations of the enclosingSQLDialect.Von Klasse geerbte verschachtelte Klassen/Schnittstellen java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum-Konstanten - Übersicht
Enum-KonstantenEnum-KonstanteBeschreibungThe ClickHouse dialect family.Veraltet, zur Entfernung: Dieses API-Element wird in einer zukünftigen Version entfernt.- [#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 default SQL dialect.Veraltet, zur Entfernung: Dieses API-Element wird in einer zukünftigen Version entfernt.- [#19224] - 3.21.0 - This dialect has been unsupported by the vendor and will be removed in the near future.The DuckDB dialect family.The Firebird dialect family.The H2 dialect family.The Hypersonic dialect family.Veraltet, zur Entfernung: Dieses API-Element wird in einer zukünftigen Version entfernt.- [#12465] - 3.16.0 - This dialect is hardly used by anyone with jOOQ or without jOOQ and will be removed in the near future.The MariaDB dialect family.The MySQL dialect family.The PostgreSQL dialect family.The SQLite dialect family.The Trino dialect family.The YugabyteDB dialect family. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungfinal @NotNull SQLDialectCategorycategory()The dialect category.final booleanWhether this dialect is supported with the jOOQ commercial license only.static final @NotNull SQLDialect @NotNull []families()Get a list of allfamily()values.final @NotNull SQLDialectfamily()The dialect family.final @NotNull StringgetName()The name of this dialect as it appears in related class names.final @NotNull StringThe name of this dialect as it appears in related package names.final @NotNull StringThe name of this dialect as it appears in related enum values.final booleanisFamily()Whether this dialect is afamily().final booleanWhether this dialect is a versioned dialect or a family with versioned dialects.final booleanprecedes(SQLDialect other) Whether this dialect precedes another dialect from the same family.final booleanprecedesStrictly(SQLDialect other) Whether this dialect strictly precedes another dialect from the same family.final @NotNull SQLDialectThe predecessor dialect.final @NotNull Set<SQLDialect> The predecessor dialects.static final @NotNull Set<SQLDialect> predecessors(SQLDialect... dialects) Get a set of dialects preceding a given set of dialects.final booleanWhether this dialect is supported by jOOQ as an output dialect.static final @NotNull Set<SQLDialect> supportedBy(SQLDialect dialect) Get a set of supported dialect versions and successors given a dialect version.static final @NotNull Set<SQLDialect> supportedBy(SQLDialect... dialects) Get a set of supported dialect versions and successors given a set of dialect versions.static final @NotNull Set<SQLDialect> supportedUntil(SQLDialect dialect) Get a set of supported dialect versions and predecessors given a dialect version.static final @NotNull Set<SQLDialect> supportedUntil(SQLDialect... dialects) Get a set of supported dialect versions and predecessors given a dialect version.final booleansupports(Collection<SQLDialect> other) Veraltet, zur Entfernung: Dieses API-Element wird in einer zukünftigen Version entfernt.- [#9882] - 3.14.0 - UsesupportedBy(SQLDialect...)insteadfinal booleansupports(SQLDialect other) Check whether this dialect supports another one.final booleansupportsDatabaseVersion(int majorVersion, int minorVersion, String productVersion) Check if thisSQLDialectsupports a JDBCDatabaseMetaData.getDatabaseMajorVersion(),DatabaseMetaData.getDatabaseMinorVersion(), patch version.final @NotNull SQLDialect.ThirdPartyGet access to third party representations of thisSQLDialect.static SQLDialectGibt die Enum-Konstante dieser Klasse mit dem angegebenen Namen zurück.static SQLDialect[]values()Gibt ein Array mit den Konstanten dieser Enum-Klasse in der Reihenfolge ihrer Deklaration zurück.
-
Enum-Konstanten - Details
-
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.
-
CLICKHOUSE
The ClickHouse dialect family.This dialect is in EXPERIMENTAL state. The dialect works very differently from most more standards compliant dialects, and we're still exploring how much we should tweak generated SQL to make ClickHouse behave more. The main difference is in how
NULLvalues are handled. WhileNOT NULLbeing the default modifier on a type is a reasonable choice, auto-converting allNULLvalues to the type's default (e.g.0forINTEGER) seems like a stretch, and hard to prevent via jOOQ's standardisation. -
CUBRID
Veraltet, zur Entfernung: Dieses API-Element wird in einer zukünftigen Version entfernt.- [#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
Veraltet, zur Entfernung: Dieses API-Element wird in einer zukünftigen Version entfernt.- [#19224] - 3.21.0 - This dialect has been unsupported by the vendor and will be removed in the near future. See https://issues.apache.org/jira/browse/DERBY-7177The Apache Derby dialect family. -
DUCKDB
The DuckDB dialect family. -
FIREBIRD
The Firebird dialect family.This family behaves like the versioned dialect
.Ungültige Referenz
#FIREBIRD_3_0 -
H2
The H2 dialect family. -
HSQLDB
The Hypersonic dialect family. -
IGNITE
Veraltet, zur Entfernung: Dieses API-Element wird in einer zukünftigen Version entfernt.- [#12465] - 3.16.0 - This dialect is hardly used by anyone with jOOQ or without jOOQ and will be removed in the near future. If you're actively using this dialect, please get in touch for extended support: https://github.com/jOOQ/jOOQ/issues/12465The Apache Ignite dialect family. -
MARIADB
The MariaDB dialect family.This family behaves like the versioned dialect
.Ungültige Referenz
#MARIADB_10_5 -
MYSQL
The MySQL dialect family.This family behaves like the versioned dialect
.Ungültige Referenz
#MYSQL_8_0_31 -
POSTGRES
The PostgreSQL dialect family.This family behaves like the versioned dialect
.Ungültige Referenz
#POSTGRES_18While 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
support, instead.Ungültige Referenz
#REDSHIFT -
SQLITE
The SQLite dialect family.This family behaves like the versioned dialect
.Ungültige Referenz
#SQLITE_3_45 -
TRINO
The Trino dialect family. -
YUGABYTEDB
The YugabyteDB dialect family.This family behaves like the versioned dialect
.Ungültige Referenz
#YUGABYTEDB_2_25
-
-
Methodendetails
-
values
Gibt ein Array mit den Konstanten dieser Enum-Klasse in der Reihenfolge ihrer Deklaration zurück.- Gibt zurück:
- ein Array mit den Konstanten dieser Enum-Klasse in der Reihenfolge ihrer Deklaration
-
valueOf
Gibt die Enum-Konstante dieser Klasse mit dem angegebenen Namen zurück. Die Zeichenfolge muss exakt mit einer ID übereinstimmen, mit der eine Enum-Konstante in dieser Klasse deklariert wird. (Zusätzliche Leerzeichen sind nicht zulässig.)- Parameter:
name- Name der zurückzugebenden Enumerationskonstante.- Gibt zurück:
- Enumerationskonstante mit dem angegebenen Namen
- Löst aus:
IllegalArgumentException- wenn diese Enum-Klasse keine Konstante mit dem angegebenen Namen enthältNullPointerException- wenn das Argument nicht angegeben wird
-
families
Get a list of allfamily()values. -
predecessors
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, including the argument dialects.
-
supportedUntil
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, including the argument dialect.
-
supportedUntil
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, including the argument dialects.
-
supportedBy
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, including the argument dialect.
-
supportedBy
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, including the argument dialects.
-
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.
-
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(); -
category
The dialect category. -
isFamily
public final boolean isFamily()Whether this dialect is afamily(). -
isVersioned
public final boolean isVersioned()Whether this dialect is a versioned dialect or a family with versioned dialects. -
predecessor
The predecessor dialect.If this is a dialect version (e.g.
) within a family (e.g.Ungültige Referenz
#POSTGRES_9_4POSTGRES), then the predecessor will point to the historically previous dialect version (e.g.) within the same family, or to the dialect itself if there was no predecessor explicitly supported by jOOQ.Ungültige Referenz
#POSTGRES_9_3 -
predecessors
The predecessor dialects.Recursively calls
predecessor()and finds all the preceding dialects to this one, including this one. -
precedes
Whether this dialect precedes another 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 { } -
precedesStrictly
Whether this dialect strictly precedes another dialect from the same family.This returns:
falseif 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 was before PostgreSQL 9.3- if (dialect.precedesStrictly(POSTGRES)) { } // Do this block only if the chosen dialect was before PostgreSQL 9.4- else if (dialect.precedesStrictly(POSTGRES)) { } // Fall back to post-PostgreSQL 9.4+ behaviour else { } -
supports
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
@Deprecated(forRemoval=true, since="3.14") public final boolean supports(Collection<SQLDialect> other) Veraltet, zur Entfernung: Dieses API-Element wird in einer zukünftigen Version entfernt.- [#9882] - 3.14.0 - UsesupportedBy(SQLDialect...)insteadCheck whether this dialect supports any dialect from the argument collection. -
supportsDatabaseVersion
public final boolean supportsDatabaseVersion(int majorVersion, int minorVersion, String productVersion) Check if thisSQLDialectsupports a JDBCDatabaseMetaData.getDatabaseMajorVersion(),DatabaseMetaData.getDatabaseMinorVersion(), patch version. -
getName
The name of this dialect as it appears in related class names. -
getNameLC
The name of this dialect as it appears in related package names. -
getNameUC
The name of this dialect as it appears in related enum values. -
thirdParty
Get access to third party representations of thisSQLDialect.
-