com.github.drinkjava2.jdialects
Enum Dialect

java.lang.Object
  extended by java.lang.Enum<Dialect>
      extended by com.github.drinkjava2.jdialects.Dialect
All Implemented Interfaces:
CommonDialect, Serializable, Comparable<Dialect>

public enum Dialect
extends Enum<Dialect>
implements CommonDialect

jDialects is a small Java tool collect all databases' dialect, most data are extracted from Hibernate, usually jDialects is used for build pagination SQL and DDL SQL for cross-databases developing. Currently jDialects support ~70 database dialects. It has no any 3rd party dependency, run on JDK1.6 or above.

Since:
1.7.0
Author:
Yong Zhu

Enum Constant Summary
AccessDialect
           
Cache71Dialect
           
CobolDialect
           
CUBRIDDialect
           
DataDirectOracle9Dialect
           
DB2390Dialect
           
DB2390V8Dialect
           
DB2400Dialect
           
DB297Dialect
           
DB2Dialect
           
DbfDialect
           
DerbyDialect
          Deprecated. 
DerbyTenFiveDialect
           
DerbyTenSevenDialect
           
DerbyTenSixDialect
           
ExcelDialect
           
FirebirdDialect
           
FrontBaseDialect
           
H2Dialect
           
HANAColumnStoreDialect
           
HANARowStoreDialect
           
HSQLDialect
           
Informix10Dialect
           
InformixDialect
           
Ingres10Dialect
           
Ingres9Dialect
           
IngresDialect
           
InterbaseDialect
           
JDataStoreDialect
           
MariaDB102Dialect
           
MariaDB103Dialect
           
MariaDB10Dialect
           
MariaDB53Dialect
           
MariaDBDialect
           
MckoiDialect
           
MimerSQLDialect
           
MySQL55Dialect
           
MySQL57Dialect
           
MySQL57InnoDBDialect
           
MySQL5Dialect
           
MySQL5InnoDBDialect
           
MySQL8Dialect
           
MySQLDialect
           
MySQLInnoDBDialect
           
MySQLMyISAMDialect
           
Oracle10gDialect
           
Oracle12cDialect
           
Oracle8iDialect
           
Oracle9Dialect
          Deprecated. 
Oracle9iDialect
           
OracleDialect
          Deprecated. 
ParadoxDialect
           
PointbaseDialect
           
PostgresPlusDialect
           
PostgreSQL81Dialect
           
PostgreSQL82Dialect
           
PostgreSQL91Dialect
           
PostgreSQL92Dialect
           
PostgreSQL93Dialect
           
PostgreSQL94Dialect
           
PostgreSQL95Dialect
           
PostgreSQL9Dialect
           
PostgreSQLDialect
           
ProgressDialect
           
RDMSOS2200Dialect
           
SAPDBDialect
           
SQLiteDialect
           
SQLServer2005Dialect
           
SQLServer2008Dialect
           
SQLServer2012Dialect
           
SQLServerDialect
           
Sybase11Dialect
           
SybaseAnywhereDialect
           
SybaseASE157Dialect
           
SybaseASE15Dialect
           
SybaseDialect
           
Teradata14Dialect
           
TeradataDialect
           
TextDialect
           
TimesTenDialect
           
XMLDialect
           
 
Field Summary
protected  DDLFeatures ddlFeatures
           
protected  Map<String,String> functions
           
protected static DialectLogger logger
           
static String NOT_SUPPORT
           
protected  Map<Type,String> typeMappings
           
 
Method Summary
 String checkNotEmptyReservedWords(String word, String type, String tableName)
          Check if a word is current dialect or ANSI-SQL's reserved word, if yes throw exception.
 String checkReservedWords(String... words)
          Check if a word or word array include current dialect or ANSI-SQL's reserved word, if yes throw exception.
 String dropFKeyDDL(String tableName, String fkeyName)
          Build a "alter table tableName drop foreign key fkeyName " like DDL String according this dialect
 String dropSequenceDDL(String sequenceName)
          Build a "drop sequence xxxx " like DDL String according this dialect
 String dropTableDDL(String tableName)
          Build a "drop table xxxx " like DDL String according this dialect
 DDLFeatures getDdlFeatures()
          Get DDL features of current dialect
 Map<String,String> getFunctions()
          Get DDL features of current dialect
static Boolean getGlobalAllowReservedWords()
           
static Boolean getGlobalAllowShowSql()
           
static String getGlobalSqlFunctionPrefix()
           
 Object getNexID(IdGenerator idGenerator, NormalJdbcTool jdbc, Type dataType)
          Return next ID by given IdGenerator and NormalJdbcStyle instance
 Map<Type,String> getTypeMappings()
          Get Type mapping features key-value Map of current dialect
static Dialect guessDialect(Connection connection)
          Guess Dialect by given connection, note:this method does not close connection
static Dialect guessDialect(DataSource datasource)
          Guess Dialect by given data source
 boolean isDB2Family()
           
 boolean isDerbyFamily()
           
 boolean isH2Family()
           
 boolean isInfomixFamily()
           
 boolean isMySqlFamily()
           
 boolean isOracleFamily()
           
 boolean isPostgresFamily()
           
 boolean isSQLServerFamily()
           
 boolean isSybaseFamily()
           
 String pagin(int pageNumber, int pageSize, String sql)
          Create a pagination SQL by given pageNumber, pageSize and SQL
 String paginAndTrans(int pageNumber, int pageSize, String... sql)
          Paginate and Translate a SQL
static void setGlobalAllowReservedWords(Boolean ifAllowReservedWords)
          Note! this is a global method to set globalAllowReservedWords
static void setGlobalAllowShowSql(Boolean ifAllowShowSql)
          Note! this is a global method to set globalAllowShowSql
static void setGlobalSqlFunctionPrefix(String sqlFunctionPrefix)
          Note! this is a global method to set globalSqlFunctionPrefix
 String[] toCreateDDL(Class<?>... entityClasses)
          Transfer entity classes to create DDL
 String[] toCreateDDL(TableModel... tables)
          Transfer tables to create DDL
 String[] toDropAndCreateDDL(Class<?>... entityClasses)
          Transfer entity classes to drop and create DDL String array
 String[] toDropAndCreateDDL(TableModel... tables)
          Transfer tables to drop and create DDL String array
 String[] toDropDDL(Class<?>... entityClasses)
          Transfer entity classes to create DDL
 String[] toDropDDL(TableModel... tables)
          Transfer tables to drop DDL
 String trans(String... sql)
          Translate a SQL to native SQL, i.e., all functions written by universal function format will be transfer to a native SQL function, for example, concat('a','b') in some dialects will be changed to 'a'+'b'
 String translateToDDLType(Type type, Integer... lengths)
          Transfer com.github.drinkjava2.jdialects.Type to a real dialect's type definition DDL String, lengths is optional for some types
static Dialect valueOf(String name)
          Returns the enum constant of this type with the specified name.
static Dialect[] values()
          Returns an array containing the constants of this enum type, in the order they are declared.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

SQLiteDialect

public static final Dialect SQLiteDialect

AccessDialect

public static final Dialect AccessDialect

ExcelDialect

public static final Dialect ExcelDialect

TextDialect

public static final Dialect TextDialect

ParadoxDialect

public static final Dialect ParadoxDialect

CobolDialect

public static final Dialect CobolDialect

XMLDialect

public static final Dialect XMLDialect

DbfDialect

public static final Dialect DbfDialect

DerbyDialect

@Deprecated
public static final Dialect DerbyDialect
Deprecated. 
Use Derby instead


OracleDialect

@Deprecated
public static final Dialect OracleDialect
Deprecated. 
Use Oracle8iDialect instead


Oracle9Dialect

@Deprecated
public static final Dialect Oracle9Dialect
Deprecated. 
Use Oracle9i instead


Cache71Dialect

public static final Dialect Cache71Dialect

CUBRIDDialect

public static final Dialect CUBRIDDialect

DerbyTenFiveDialect

public static final Dialect DerbyTenFiveDialect

DataDirectOracle9Dialect

public static final Dialect DataDirectOracle9Dialect

DB2Dialect

public static final Dialect DB2Dialect

DB2390Dialect

public static final Dialect DB2390Dialect

DB2400Dialect

public static final Dialect DB2400Dialect

DerbyTenSevenDialect

public static final Dialect DerbyTenSevenDialect

DerbyTenSixDialect

public static final Dialect DerbyTenSixDialect

FirebirdDialect

public static final Dialect FirebirdDialect

FrontBaseDialect

public static final Dialect FrontBaseDialect

H2Dialect

public static final Dialect H2Dialect

HANAColumnStoreDialect

public static final Dialect HANAColumnStoreDialect

HANARowStoreDialect

public static final Dialect HANARowStoreDialect

HSQLDialect

public static final Dialect HSQLDialect

InformixDialect

public static final Dialect InformixDialect

Informix10Dialect

public static final Dialect Informix10Dialect

IngresDialect

public static final Dialect IngresDialect

Ingres10Dialect

public static final Dialect Ingres10Dialect

Ingres9Dialect

public static final Dialect Ingres9Dialect

InterbaseDialect

public static final Dialect InterbaseDialect

JDataStoreDialect

public static final Dialect JDataStoreDialect

MariaDBDialect

public static final Dialect MariaDBDialect

MariaDB53Dialect

public static final Dialect MariaDB53Dialect

MckoiDialect

public static final Dialect MckoiDialect

MimerSQLDialect

public static final Dialect MimerSQLDialect

MySQLDialect

public static final Dialect MySQLDialect

MySQL5Dialect

public static final Dialect MySQL5Dialect

MySQL55Dialect

public static final Dialect MySQL55Dialect

MySQL57Dialect

public static final Dialect MySQL57Dialect

MySQL57InnoDBDialect

public static final Dialect MySQL57InnoDBDialect

MySQL5InnoDBDialect

public static final Dialect MySQL5InnoDBDialect

MySQLInnoDBDialect

public static final Dialect MySQLInnoDBDialect

MySQLMyISAMDialect

public static final Dialect MySQLMyISAMDialect

Oracle8iDialect

public static final Dialect Oracle8iDialect

Oracle9iDialect

public static final Dialect Oracle9iDialect

Oracle10gDialect

public static final Dialect Oracle10gDialect

Oracle12cDialect

public static final Dialect Oracle12cDialect

PointbaseDialect

public static final Dialect PointbaseDialect

PostgresPlusDialect

public static final Dialect PostgresPlusDialect

PostgreSQLDialect

public static final Dialect PostgreSQLDialect

PostgreSQL81Dialect

public static final Dialect PostgreSQL81Dialect

PostgreSQL82Dialect

public static final Dialect PostgreSQL82Dialect

PostgreSQL9Dialect

public static final Dialect PostgreSQL9Dialect

PostgreSQL91Dialect

public static final Dialect PostgreSQL91Dialect

PostgreSQL92Dialect

public static final Dialect PostgreSQL92Dialect

PostgreSQL93Dialect

public static final Dialect PostgreSQL93Dialect

PostgreSQL94Dialect

public static final Dialect PostgreSQL94Dialect

PostgreSQL95Dialect

public static final Dialect PostgreSQL95Dialect

ProgressDialect

public static final Dialect ProgressDialect

RDMSOS2200Dialect

public static final Dialect RDMSOS2200Dialect

SAPDBDialect

public static final Dialect SAPDBDialect

SQLServerDialect

public static final Dialect SQLServerDialect

SQLServer2005Dialect

public static final Dialect SQLServer2005Dialect

SQLServer2008Dialect

public static final Dialect SQLServer2008Dialect

SQLServer2012Dialect

public static final Dialect SQLServer2012Dialect

SybaseDialect

public static final Dialect SybaseDialect

Sybase11Dialect

public static final Dialect Sybase11Dialect

SybaseAnywhereDialect

public static final Dialect SybaseAnywhereDialect

SybaseASE15Dialect

public static final Dialect SybaseASE15Dialect

SybaseASE157Dialect

public static final Dialect SybaseASE157Dialect

TeradataDialect

public static final Dialect TeradataDialect

Teradata14Dialect

public static final Dialect Teradata14Dialect

TimesTenDialect

public static final Dialect TimesTenDialect

DB2390V8Dialect

public static final Dialect DB2390V8Dialect

DB297Dialect

public static final Dialect DB297Dialect

MariaDB102Dialect

public static final Dialect MariaDB102Dialect

MariaDB103Dialect

public static final Dialect MariaDB103Dialect

MariaDB10Dialect

public static final Dialect MariaDB10Dialect

MySQL8Dialect

public static final Dialect MySQL8Dialect
Field Detail

NOT_SUPPORT

public static final String NOT_SUPPORT
See Also:
Constant Field Values

logger

protected static final DialectLogger logger

typeMappings

protected final Map<Type,String> typeMappings

functions

protected final Map<String,String> functions

ddlFeatures

protected final DDLFeatures ddlFeatures
Method Detail

values

public static Dialect[] 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 (Dialect c : Dialect.values())
    System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared

valueOf

public static Dialect 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 name
NullPointerException - if the argument is null

guessDialect

public static Dialect guessDialect(Connection connection)
Guess Dialect by given connection, note:this method does not close connection

Parameters:
con - The JDBC Connection
Returns:
Dialect The Dialect intance, if can not guess out, return null

guessDialect

public static Dialect guessDialect(DataSource datasource)
Guess Dialect by given data source

Parameters:
datasource -
Returns:
Dialect

checkReservedWords

public String checkReservedWords(String... words)
Check if a word or word array include current dialect or ANSI-SQL's reserved word, if yes throw exception. if belong to other database's reserved word, log output a warning. Otherwise return word itself or first word if is array


checkNotEmptyReservedWords

public String checkNotEmptyReservedWords(String word,
                                         String type,
                                         String tableName)
Check if a word is current dialect or ANSI-SQL's reserved word, if yes throw exception. if is other database's reserved word, log output a warning. Otherwise return word itself.


translateToDDLType

public String translateToDDLType(Type type,
                                 Integer... lengths)
Transfer com.github.drinkjava2.jdialects.Type to a real dialect's type definition DDL String, lengths is optional for some types


paginAndTrans

public String paginAndTrans(int pageNumber,
                            int pageSize,
                            String... sql)
Paginate and Translate a SQL

Specified by:
paginAndTrans in interface CommonDialect
pageSize - The page item size
sql - The original SQL
Returns:
The paginated and translated SQL

trans

public String trans(String... sql)
Description copied from interface: CommonDialect
Translate a SQL to native SQL, i.e., all functions written by universal function format will be transfer to a native SQL function, for example, concat('a','b') in some dialects will be changed to 'a'+'b'

Specified by:
trans in interface CommonDialect
Parameters:
sql - array
Returns:
the translated SQL

pagin

public String pagin(int pageNumber,
                    int pageSize,
                    String sql)
Description copied from interface: CommonDialect
Create a pagination SQL by given pageNumber, pageSize and SQL

Specified by:
pagin in interface CommonDialect
Parameters:
pageNumber - The page number, start from 1
pageSize - The page item size
sql - The original SQL
Returns:
The paginated SQL

isMySqlFamily

public boolean isMySqlFamily()
Returns:
true if is MySql family

isInfomixFamily

public boolean isInfomixFamily()
Returns:
true if is Infomix family

isOracleFamily

public boolean isOracleFamily()
Returns:
true if is Oracle family

isSQLServerFamily

public boolean isSQLServerFamily()
Returns:
true if is SQL Server family

isH2Family

public boolean isH2Family()
Returns:
true if is H2 family

isPostgresFamily

public boolean isPostgresFamily()
Returns:
true if is Postgres family

isSybaseFamily

public boolean isSybaseFamily()
Returns:
true if is Sybase family

isDB2Family

public boolean isDB2Family()
Returns:
true if is DB2 family

isDerbyFamily

public boolean isDerbyFamily()
Returns:
true if is Derby family

toCreateDDL

public String[] toCreateDDL(Class<?>... entityClasses)
Transfer entity classes to create DDL


toDropDDL

public String[] toDropDDL(Class<?>... entityClasses)
Transfer entity classes to create DDL


toDropAndCreateDDL

public String[] toDropAndCreateDDL(Class<?>... entityClasses)
Transfer entity classes to drop and create DDL String array


toCreateDDL

public String[] toCreateDDL(TableModel... tables)
Transfer tables to create DDL


toDropDDL

public String[] toDropDDL(TableModel... tables)
Transfer tables to drop DDL


toDropAndCreateDDL

public String[] toDropAndCreateDDL(TableModel... tables)
Transfer tables to drop and create DDL String array


dropTableDDL

public String dropTableDDL(String tableName)
Build a "drop table xxxx " like DDL String according this dialect


dropSequenceDDL

public String dropSequenceDDL(String sequenceName)
Build a "drop sequence xxxx " like DDL String according this dialect


dropFKeyDDL

public String dropFKeyDDL(String tableName,
                          String fkeyName)
Build a "alter table tableName drop foreign key fkeyName " like DDL String according this dialect


getNexID

public Object getNexID(IdGenerator idGenerator,
                       NormalJdbcTool jdbc,
                       Type dataType)
Return next ID by given IdGenerator and NormalJdbcStyle instance


getTypeMappings

public Map<Type,String> getTypeMappings()
Get Type mapping features key-value Map of current dialect


getFunctions

public Map<String,String> getFunctions()
Get DDL features of current dialect


getDdlFeatures

public DDLFeatures getDdlFeatures()
Get DDL features of current dialect


getGlobalAllowReservedWords

public static Boolean getGlobalAllowReservedWords()

setGlobalAllowReservedWords

public static void setGlobalAllowReservedWords(Boolean ifAllowReservedWords)
Note! this is a global method to set globalAllowReservedWords


getGlobalAllowShowSql

public static Boolean getGlobalAllowShowSql()

setGlobalAllowShowSql

public static void setGlobalAllowShowSql(Boolean ifAllowShowSql)
Note! this is a global method to set globalAllowShowSql


getGlobalSqlFunctionPrefix

public static String getGlobalSqlFunctionPrefix()

setGlobalSqlFunctionPrefix

public static void setGlobalSqlFunctionPrefix(String sqlFunctionPrefix)
Note! this is a global method to set globalSqlFunctionPrefix



Copyright © 2018. All rights reserved.