public enum SQLDialect extends Enum<SQLDialect>
The commercial jOOQ distributions support a variety of dialects, which are
grouped into dialect families. For instance, the SQL Server dialect family
POSTGRES
is specialised by its dialects
#POSTGRES_9_3
#POSTGRES_9_4
Modifier and Type | Class and Description |
---|---|
class |
SQLDialect.ThirdParty
Third party representations of the enclosing
SQLDialect . |
Enum Constant and Description |
---|
CUBRID
The CUBRID dialect family.
|
DEFAULT
The default SQL dialect.
|
DERBY
The Apache Derby dialect family.
|
FIREBIRD
The Firebird dialect family.
|
H2
The H2 dialect family.
|
HSQLDB
The Hypersonic dialect family.
|
MARIADB
The MariaDB dialect family.
|
MYSQL
The MySQL dialect family.
|
POSTGRES
The PostgreSQL dialect family.
|
SQL99
Deprecated.
- [#3844] - 3.6.0 -
DEFAULT will replace this
pseudo-dialect. |
SQLITE
The SQLite dialect family.
|
Modifier and Type | Method and Description |
---|---|
boolean |
commercial()
Whether this dialect is supported with the jOOQ commercial license only.
|
static SQLDialect[] |
families()
Get a list of all
family() 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 a
family() . |
boolean |
precedes(SQLDialect other)
Whether this dialect precedes an other dialect from the same family.
|
SQLDialect |
predecessor()
The predecessor dialect.
|
boolean |
supported()
Whether this dialect is supported by jOOQ as an output dialect.
|
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 this
SQLDialect . |
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.
|
@Deprecated public static final SQLDialect SQL99
DEFAULT
will replace this
pseudo-dialect.public static final SQLDialect DEFAULT
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.
public static final SQLDialect CUBRID
public static final SQLDialect DERBY
public static final SQLDialect FIREBIRD
This family behaves like the versioned dialect #FIREBIRD_3_0
.
public static final SQLDialect H2
public static final SQLDialect HSQLDB
public static final SQLDialect MARIADB
public static final SQLDialect MYSQL
This family behaves like the versioned dialect #MYSQL_8_0
.
public static final SQLDialect POSTGRES
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.
public static final SQLDialect SQLITE
This family behaves like the versioned dialect #SQLITE_3_28
.
public static SQLDialect[] values()
for (SQLDialect c : SQLDialect.values()) System.out.println(c);
public static SQLDialect valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullpublic final boolean commercial()
public final boolean supported()
Unsupported, non-output dialects include:
DEFAULT
: A hypothetical dialect used for
QueryPart.toString()
calls of unattached query parts.SQL99
: A legacy version of DEFAULT
.#POSTGRESPLUS
: A not yet supported dialect.public final SQLDialect family()
This returns the dialect itself, if it has no "parent family". E.g.
SQLSERVER == SQLSERVER2012.family();
SQLSERVER == SQLSERVER2008.family();
SQLSERVER == SQLSERVER.family();
public final boolean isFamily()
family()
.public final SQLDialect predecessor()
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.
public final boolean precedes(SQLDialect other)
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 to predecessor()
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 {
}
public final boolean supports(SQLDialect other)
This is:
false
if dialects don't belong to the same familytrue
if either dialect isFamily()
true
if other
dialect precedes this
dialect
The other
argument dialect is typically referenced from a
Support
annotation, whereas this dialect is the user dialect.
public final boolean supports(Collection<SQLDialect> other)
public final String getName()
public final String getNameLC()
public final String getNameUC()
public static final SQLDialect[] families()
family()
values.public final SQLDialect.ThirdParty thirdParty()
SQLDialect
.Copyright © 2019. All rights reserved.