public static enum SqlDialect.DatabaseProduct extends java.lang.Enum<SqlDialect.DatabaseProduct>
These values cannot help you distinguish between features that exist
in different versions or ports of a database, but they are sufficient
to drive a switch
statement if behavior is broadly different
between say, MySQL and Oracle.
If possible, you should not refer to particular database at all; write extend the dialect to describe the particular capability, for example, whether the database allows expressions to appear in the GROUP BY clause.
Enum Constant and Description |
---|
ACCESS |
BIG_QUERY |
CALCITE |
DB2 |
DERBY |
FIREBIRD |
H2 |
HIVE |
HSQLDB |
INFOBRIGHT |
INFORMIX |
INGRES |
INTERBASE |
JETHRO |
LUCIDDB |
MSSQL |
MYSQL |
NEOVIEW |
NETEZZA |
ORACLE |
PARACCEL
Paraccel, now called Actian Matrix.
|
PHOENIX |
POSTGRESQL |
REDSHIFT |
SNOWFLAKE |
SPARK |
SQLSTREAM |
SYBASE |
TERADATA |
UNKNOWN
Placeholder for the unknown database.
|
VERTICA |
Modifier and Type | Field and Description |
---|---|
private java.util.function.Supplier<SqlDialect> |
dialect |
Modifier and Type | Method and Description |
---|---|
SqlDialect |
getDialect()
Returns a dummy dialect for this database.
|
static SqlDialect.DatabaseProduct |
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.
|
static SqlDialect.DatabaseProduct[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final SqlDialect.DatabaseProduct ACCESS
public static final SqlDialect.DatabaseProduct BIG_QUERY
public static final SqlDialect.DatabaseProduct CALCITE
public static final SqlDialect.DatabaseProduct MSSQL
public static final SqlDialect.DatabaseProduct MYSQL
public static final SqlDialect.DatabaseProduct ORACLE
public static final SqlDialect.DatabaseProduct DERBY
public static final SqlDialect.DatabaseProduct DB2
public static final SqlDialect.DatabaseProduct FIREBIRD
public static final SqlDialect.DatabaseProduct H2
public static final SqlDialect.DatabaseProduct HIVE
public static final SqlDialect.DatabaseProduct INFORMIX
public static final SqlDialect.DatabaseProduct INGRES
public static final SqlDialect.DatabaseProduct JETHRO
public static final SqlDialect.DatabaseProduct LUCIDDB
public static final SqlDialect.DatabaseProduct INTERBASE
public static final SqlDialect.DatabaseProduct PHOENIX
public static final SqlDialect.DatabaseProduct POSTGRESQL
public static final SqlDialect.DatabaseProduct NETEZZA
public static final SqlDialect.DatabaseProduct INFOBRIGHT
public static final SqlDialect.DatabaseProduct NEOVIEW
public static final SqlDialect.DatabaseProduct SYBASE
public static final SqlDialect.DatabaseProduct TERADATA
public static final SqlDialect.DatabaseProduct HSQLDB
public static final SqlDialect.DatabaseProduct VERTICA
public static final SqlDialect.DatabaseProduct SQLSTREAM
public static final SqlDialect.DatabaseProduct SPARK
public static final SqlDialect.DatabaseProduct PARACCEL
public static final SqlDialect.DatabaseProduct REDSHIFT
public static final SqlDialect.DatabaseProduct SNOWFLAKE
public static final SqlDialect.DatabaseProduct UNKNOWN
Its dialect is useful for generating generic SQL. If you need to do something database-specific like quoting identifiers, don't rely on this dialect to do what you want.
private final java.util.function.Supplier<SqlDialect> dialect
public static SqlDialect.DatabaseProduct[] values()
for (SqlDialect.DatabaseProduct c : SqlDialect.DatabaseProduct.values()) System.out.println(c);
public static SqlDialect.DatabaseProduct valueOf(java.lang.String name)
name
- the name of the enum constant to be returned.java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is nullpublic SqlDialect getDialect()
Since databases have many versions and flavors, this dummy dialect
is at best an approximation. If you want exact information, better to
use a dialect created from an actual connection's metadata
(see SqlDialectFactory.create(java.sql.DatabaseMetaData)
).
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.