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:
Serializable, Comparable<Dialect>

public enum Dialect
extends Enum<Dialect>

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.0.0
Version:
1.0.3
Author:
Yong Zhu

Enum Constant Summary
AccessDialect
           
Cache71Dialect
           
CobolDialect
           
CUBRIDDialect
           
DataDirectOracle9Dialect
           
DB2390Dialect
           
DB2400Dialect
           
DB2Dialect
           
DbfDialect
           
DerbyDialect
          Deprecated. 
DerbyTenFiveDialect
           
DerbyTenSevenDialect
           
DerbyTenSixDialect
           
ExcelDialect
           
FirebirdDialect
           
FrontBaseDialect
           
H2Dialect
           
HANAColumnStoreDialect
           
HANARowStoreDialect
           
HSQLDialect
           
Informix10Dialect
           
InformixDialect
           
Ingres10Dialect
           
Ingres9Dialect
           
IngresDialect
           
InterbaseDialect
           
JDataStoreDialect
           
MariaDB53Dialect
           
MariaDBDialect
           
MckoiDialect
           
MimerSQLDialect
           
MySQL55Dialect
           
MySQL57Dialect
           
MySQL57InnoDBDialect
           
MySQL5Dialect
           
MySQL5InnoDBDialect
           
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
           
static String NOT_SUPPORT
           
protected  Map<Type,String> typeMappings
           
 
Method Summary
 String checkNotEmptyReservedWords(String word, String... errorMSG)
          Check if a word is current dialect or ANSI-SQL's reserved word, if yes throw exception.
 String checkReservedWords(String word)
          Check if a word is 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
 String fn_ABS(Object... args)
          ABS() function, all dialects support this function
 String fn_acos(Object... args)
          ACOS() function, 79% dialects support this function
 String fn_ascii(Object... args)
          ASCII() function, 68% dialects support this function
 String fn_asin(Object... args)
          ASIN() function, 79% dialects support this function
 String fn_atan(Object... args)
          ATAN() function, 80% dialects support this function
 String fn_atan2(Object... args)
          ATAN2() function, 31% dialects support this function
 String fn_AVG(Object... args)
          AVG() function, all dialects support this function
 String fn_bin(Object... args)
          BIN() function, 24% dialects support this function
 String fn_BIT_LENGTH(Object... args)
          BIT_LENGTH() function, all dialects support this function
 String fn_CAST(Object... args)
          CAST() function, all dialects support this function
 String fn_ceil(Object... args)
          CEIL() function, 61% dialects support this function
 String fn_ceiling(Object... args)
          CEILING() function, 49% dialects support this function
 String fn_char_length(Object... args)
          CHAR_LENGTH() function, 44% dialects support this function
 String fn_char(Object... args)
          CHAR() function, 39% dialects support this function
 String fn_character_length(Object... args)
          CHARACTER_LENGTH() function, 31% dialects support this function
 String fn_chr(Object... args)
          CHR() function, 44% dialects support this function
 String fn_COALESCE(Object... args)
          COALESCE() function, all dialects support this function
 String fn_concat(Object... args)
          CONCAT() function, 93% dialects support this function
 String fn_cos(Object... args)
          COS() function, 83% dialects support this function
 String fn_cot(Object... args)
          COT() function, 69% dialects support this function
 String fn_COUNT(Object... args)
          COUNT() function, all dialects support this function
 String fn_crc32(Object... args)
          CRC32() function, 23% dialects support this function
 String fn_curdate(Object... args)
          CURDATE() function, 29% dialects support this function
 String fn_current_date(Object... args)
          CURRENT_DATE() function, 79% dialects support this function
 String fn_current_schema(Object... args)
          CURRENT_SCHEMA() function, 16% dialects support this function
 String fn_current_time(Object... args)
          CURRENT_TIME() function, 73% dialects support this function
 String fn_current_timestamp(Object... args)
          CURRENT_TIMESTAMP() function, 76% dialects support this function
 String fn_current_user(Object... args)
          CURRENT_USER() function, 20% dialects support this function
 String fn_curtime(Object... args)
          CURTIME() function, 29% dialects support this function
 String fn_date_trunc(Object... args)
          DATE_TRUNC() function, 17% dialects support this function
 String fn_date(Object... args)
          DATE() function, 36% dialects support this function
 String fn_datediff(Object... args)
          DATEDIFF() function, 29% dialects support this function
 String fn_DAY(Object... args)
          DAY() function, all dialects support this function
 String fn_dayname(Object... args)
          DAYNAME() function, 41% dialects support this function
 String fn_dayofmonth(Object... args)
          DAYOFMONTH() function, 33% dialects support this function
 String fn_dayofweek(Object... args)
          DAYOFWEEK() function, 41% dialects support this function
 String fn_dayofyear(Object... args)
          DAYOFYEAR() function, 44% dialects support this function
 String fn_degrees(Object... args)
          DEGREES() function, 64% dialects support this function
 String fn_encrypt(Object... args)
          ENCRYPT() function, 24% dialects support this function
 String fn_exp(Object... args)
          EXP() function, 83% dialects support this function
 String fn_EXTRACT(Object... args)
          EXTRACT() function, all dialects support this function
 String fn_floor(Object... args)
          FLOOR() function, 79% dialects support this function
 String fn_from_days(Object... args)
          FROM_DAYS() function, 24% dialects support this function
 String fn_hex(Object... args)
          HEX() function, 37% dialects support this function
 String fn_HOUR(Object... args)
          HOUR() function, all dialects support this function
 String fn_initcap(Object... args)
          INITCAP() function, 35% dialects support this function
 String fn_instr(Object... args)
          INSTR() function, 23% dialects support this function
 String fn_isnull(Object... args)
          ISNULL() function, 23% dialects support this function
 String fn_last_day(Object... args)
          LAST_DAY() function, 37% dialects support this function
 String fn_lcase(Object... args)
          LCASE() function, 41% dialects support this function
 String fn_left(Object... args)
          LEFT() function, 19% dialects support this function
 String fn_len(Object... args)
          LEN() function, 23% dialects support this function
 String fn_LENGTH(Object... args)
          LENGTH() function, all dialects support this function
 String fn_ln(Object... args)
          LN() function, 65% dialects support this function
 String fn_localtime(Object... args)
          LOCALTIME() function, 28% dialects support this function
 String fn_localtimestamp(Object... args)
          LOCALTIMESTAMP() function, 28% dialects support this function
 String fn_LOCATE(Object... args)
          LOCATE() function, all dialects support this function
 String fn_log(Object... args)
          LOG() function, 81% dialects support this function
 String fn_log10(Object... args)
          LOG10() function, 52% dialects support this function
 String fn_log2(Object... args)
          LOG2() function, 24% dialects support this function
 String fn_LOWER(Object... args)
          LOWER() function, all dialects support this function
 String fn_lpad(Object... args)
          LPAD() function, 27% dialects support this function
 String fn_ltrim(Object... args)
          LTRIM() function, 65% dialects support this function
 String fn_MAX(Object... args)
          MAX() function, all dialects support this function
 String fn_md5(Object... args)
          MD5() function, 37% dialects support this function
 String fn_microsecond(Object... args)
          MICROSECOND() function, 21% dialects support this function
 String fn_MIN(Object... args)
          MIN() function, all dialects support this function
 String fn_MINUTE(Object... args)
          MINUTE() function, all dialects support this function
 String fn_MOD(Object... args)
          MOD() function, all dialects support this function
 String fn_MONTH(Object... args)
          MONTH() function, all dialects support this function
 String fn_monthname(Object... args)
          MONTHNAME() function, 41% dialects support this function
 String fn_now(Object... args)
          NOW() function, 45% dialects support this function
 String fn_NULLIF(Object... args)
          NULLIF() function, all dialects support this function
 String fn_nvl(Object... args)
          NVL() function, 28% dialects support this function
 String fn_oct(Object... args)
          OCT() function, 23% dialects support this function
 String fn_octet_length(Object... args)
          OCTET_LENGTH() function, 43% dialects support this function
 String fn_pi(Object... args)
          PI() function, 43% dialects support this function
 String fn_position(Object... args)
          POSITION() function, 16% dialects support this function
 String fn_power(Object... args)
          POWER() function, 35% dialects support this function
 String fn_quarter(Object... args)
          QUARTER() function, 41% dialects support this function
 String fn_radians(Object... args)
          RADIANS() function, 63% dialects support this function
 String fn_rand(Object... args)
          RAND() function, 63% dialects support this function
 String fn_random(Object... args)
          RANDOM() function, 20% dialects support this function
 String fn_replace(Object... args)
          REPLACE() function, 29% dialects support this function
 String fn_reverse(Object... args)
          REVERSE() function, 39% dialects support this function
 String fn_right(Object... args)
          RIGHT() function, 21% dialects support this function
 String fn_round(Object... args)
          ROUND() function, 81% dialects support this function
 String fn_rpad(Object... args)
          RPAD() function, 27% dialects support this function
 String fn_rtrim(Object... args)
          RTRIM() function, 67% dialects support this function
 String fn_SECOND(Object... args)
          SECOND() function, all dialects support this function
 String fn_session_user(Object... args)
          SESSION_USER() function, 20% dialects support this function
 String fn_sign(Object... args)
          SIGN() function, 80% dialects support this function
 String fn_sin(Object... args)
          SIN() function, 83% dialects support this function
 String fn_soundex(Object... args)
          SOUNDEX() function, 56% dialects support this function
 String fn_space(Object... args)
          SPACE() function, 41% dialects support this function
 String fn_SQRT(Object... args)
          SQRT() function, all dialects support this function
 String fn_stddev(Object... args)
          STDDEV() function, 49% dialects support this function
 String fn_STR(Object... args)
          STR() function, all dialects support this function
 String fn_substr(Object... args)
          SUBSTR() function, 51% dialects support this function
 String fn_SUBSTRING(Object... args)
          SUBSTRING() function, all dialects support this function
 String fn_SUM(Object... args)
          SUM() function, all dialects support this function
 String fn_sysdate(Object... args)
          SYSDATE() function, 41% dialects support this function
 String fn_tan(Object... args)
          TAN() function, 79% dialects support this function
 String fn_time(Object... args)
          TIME() function, 37% dialects support this function
 String fn_timediff(Object... args)
          TIMEDIFF() function, 24% dialects support this function
 String fn_timestamp(Object... args)
          TIMESTAMP() function, 37% dialects support this function
 String fn_to_char(Object... args)
          TO_CHAR() function, 28% dialects support this function
 String fn_to_date(Object... args)
          TO_DATE() function, 29% dialects support this function
 String fn_to_days(Object... args)
          TO_DAYS() function, 24% dialects support this function
 String fn_to_timestamp(Object... args)
          TO_TIMESTAMP() function, 16% dialects support this function
 String fn_translate(Object... args)
          TRANSLATE() function, 23% dialects support this function
 String fn_TRIM(Object... args)
          TRIM() function, all dialects support this function
 String fn_trunc(Object... args)
          TRUNC() function, 36% dialects support this function
 String fn_ucase(Object... args)
          UCASE() function, 41% dialects support this function
 String fn_unhex(Object... args)
          UNHEX() function, 17% dialects support this function
 String fn_UPPER(Object... args)
          UPPER() function, all dialects support this function
 String fn_user(Object... args)
          USER() function, 56% dialects support this function
 String fn_variance(Object... args)
          VARIANCE() function, 36% dialects support this function
 String fn_week(Object... args)
          WEEK() function, 43% dialects support this function
 String fn_weekday(Object... args)
          WEEKDAY() function, 17% dialects support this function
 String fn_weekofyear(Object... args)
          WEEKOFYEAR() function, 24% dialects support this function
 String fn_YEAR(Object... args)
          YEAR() function, all dialects support this function
 DDLFeatures getDdlFeatures()
           
 Map<String,String> getFunctions()
           
 Long getNextAutoID(Connection connection)
          Get a Long type Auto-Generated ID from sequence or "jdialects_autoid" table.
 Map<Type,String> getTypeMappings()
           
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
static Dialect guessDialect(String databaseName, Object... majorVersionMinorVersion)
          Guess Dialect by given databaseName, major & minor version if have
 boolean isDB2Family()
           
 boolean isDerbyFamily()
           
 boolean isH2Family()
           
 boolean isInfomixFamily()
           
 boolean isMySqlFamily()
           
 boolean isOracleFamily()
           
 boolean isPostgresFamily()
           
 boolean isSQLServerFamily()
           
 boolean isSybaseFamily()
           
 String paginate(int pageNumber, int pageSize, String sql)
          Create a pagination SQL by given pageNumber, pageSize and SQL
 String[] toCreateDDL(Table... tables)
          Transfer tables to formatted create DDL
 String[] toDropAndCreateDDL(Table... tables)
          Transfer tables to drop and create DDL String array
 String[] toDropDDL(Table... tables)
          Transfer tables to formatted drop DDL
protected  String translateToDDLType(Type type, Integer... lengths)
          Transfer jdialect.Type to a real dialect's ddl type, lengths is optional for some types
 String TYPE_BIGDECIMAL(Integer precision, Integer scale)
          BidDecimal type column definition, 100% dialects support, recommend use
 String TYPE_BIGINT()
          BigInt type column definition, 100% dialects support, recommend use
 String TYPE_BINARY(Integer... lengths)
           
 String TYPE_BIT()
           
 String TYPE_BLOB(Integer... lengths)
           
 String TYPE_BOOLEAN()
          Boolean type column definition, 100% dialects support, recommend use
 String TYPE_CHAR(Integer... lengths)
           
 String TYPE_CLOB(Integer... lengths)
           
 String TYPE_DATE()
          Date type column definition, 100% dialects support, recommend use
 String TYPE_DECIMAL(Integer... lengths)
           
 String TYPE_DOUBLE()
          Double type column definition, 100% dialects support, recommend use
 String TYPE_FLOAT(Integer... lengths)
          Float type column definition, 100% dialects support, recommend use
 String TYPE_INTEGER()
          Integer type column definition, 100% dialects support, recommend use
 String TYPE_JAVA_OBJECT()
           
 String TYPE_LONG()
          Long type column definition, 100% dialects support, recommend use
 String TYPE_LONGNVARCHAR(Integer length)
           
 String TYPE_LONGVARBINARY(Integer... lengths)
           
 String TYPE_LONGVARCHAR(Integer... lengths)
           
 String TYPE_NCHAR(Integer length)
           
 String TYPE_NCLOB()
           
 String TYPE_NUMERIC(Integer... lengths)
           
 String TYPE_NVARCHAR(Integer length)
           
 String TYPE_OTHER(Integer... lengths)
           
 String TYPE_REAL()
           
 String TYPE_SHORT()
          Short type column definition, 100% dialects support, recommend use
 String TYPE_SMALLINT()
           
 String TYPE_STRING(Integer length)
          String type column definition, 100% dialects support, recommend use
 String TYPE_TIME()
          Time type column definition, 100% dialects support, recommend use
 String TYPE_TIMESTAMP()
          TimeStamp type column definition, 100% dialects support, recommend use
 String TYPE_TINYINT()
           
 String TYPE_VARBINARY(Integer... lengths)
           
 String TYPE_VARCHAR(Integer length)
          Varchar type column definition, 100% dialects support, recommend use
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. 

OracleDialect

@Deprecated
public static final Dialect OracleDialect
Deprecated. 

Oracle9Dialect

@Deprecated
public static final Dialect Oracle9Dialect
Deprecated. 

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
Field Detail

NOT_SUPPORT

public static final String NOT_SUPPORT
See Also:
Constant Field Values

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(String databaseName,
                                   Object... majorVersionMinorVersion)
Guess Dialect by given databaseName, major & minor version if have

Parameters:
databaseName -
majorVersionMinorVersion -
Returns:
Dialect

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 word)
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.


checkNotEmptyReservedWords

public String checkNotEmptyReservedWords(String word,
                                         String... errorMSG)
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

protected String translateToDDLType(Type type,
                                    Integer... lengths)
Transfer jdialect.Type to a real dialect's ddl type, lengths is optional for some types


TYPE_LONG

public String TYPE_LONG()
Long type column definition, 100% dialects support, recommend use


TYPE_BOOLEAN

public String TYPE_BOOLEAN()
Boolean type column definition, 100% dialects support, recommend use


TYPE_DOUBLE

public String TYPE_DOUBLE()
Double type column definition, 100% dialects support, recommend use


TYPE_FLOAT

public String TYPE_FLOAT(Integer... lengths)
Float type column definition, 100% dialects support, recommend use


TYPE_INTEGER

public String TYPE_INTEGER()
Integer type column definition, 100% dialects support, recommend use


TYPE_SHORT

public String TYPE_SHORT()
Short type column definition, 100% dialects support, recommend use


TYPE_BIGDECIMAL

public String TYPE_BIGDECIMAL(Integer precision,
                              Integer scale)
BidDecimal type column definition, 100% dialects support, recommend use


TYPE_STRING

public String TYPE_STRING(Integer length)
String type column definition, 100% dialects support, recommend use


TYPE_DATE

public String TYPE_DATE()
Date type column definition, 100% dialects support, recommend use


TYPE_TIME

public String TYPE_TIME()
Time type column definition, 100% dialects support, recommend use


TYPE_TIMESTAMP

public String TYPE_TIMESTAMP()
TimeStamp type column definition, 100% dialects support, recommend use


TYPE_BIGINT

public String TYPE_BIGINT()
BigInt type column definition, 100% dialects support, recommend use


TYPE_BINARY

public String TYPE_BINARY(Integer... lengths)

TYPE_BIT

public String TYPE_BIT()

TYPE_BLOB

public String TYPE_BLOB(Integer... lengths)

TYPE_CHAR

public String TYPE_CHAR(Integer... lengths)

TYPE_CLOB

public String TYPE_CLOB(Integer... lengths)

TYPE_DECIMAL

public String TYPE_DECIMAL(Integer... lengths)

TYPE_JAVA_OBJECT

public String TYPE_JAVA_OBJECT()

TYPE_LONGNVARCHAR

public String TYPE_LONGNVARCHAR(Integer length)

TYPE_LONGVARBINARY

public String TYPE_LONGVARBINARY(Integer... lengths)

TYPE_LONGVARCHAR

public String TYPE_LONGVARCHAR(Integer... lengths)

TYPE_NCHAR

public String TYPE_NCHAR(Integer length)

TYPE_NCLOB

public String TYPE_NCLOB()

TYPE_NUMERIC

public String TYPE_NUMERIC(Integer... lengths)

TYPE_NVARCHAR

public String TYPE_NVARCHAR(Integer length)

TYPE_OTHER

public String TYPE_OTHER(Integer... lengths)

TYPE_REAL

public String TYPE_REAL()

TYPE_SMALLINT

public String TYPE_SMALLINT()

TYPE_TINYINT

public String TYPE_TINYINT()

TYPE_VARBINARY

public String TYPE_VARBINARY(Integer... lengths)

TYPE_VARCHAR

public String TYPE_VARCHAR(Integer length)
Varchar type column definition, 100% dialects support, recommend use


fn_ABS

public String fn_ABS(Object... args)
ABS() function, all dialects support this function


fn_AVG

public String fn_AVG(Object... args)
AVG() function, all dialects support this function


fn_BIT_LENGTH

public String fn_BIT_LENGTH(Object... args)
BIT_LENGTH() function, all dialects support this function


fn_CAST

public String fn_CAST(Object... args)
CAST() function, all dialects support this function


fn_COALESCE

public String fn_COALESCE(Object... args)
COALESCE() function, all dialects support this function


fn_COUNT

public String fn_COUNT(Object... args)
COUNT() function, all dialects support this function


fn_DAY

public String fn_DAY(Object... args)
DAY() function, all dialects support this function


fn_EXTRACT

public String fn_EXTRACT(Object... args)
EXTRACT() function, all dialects support this function


fn_HOUR

public String fn_HOUR(Object... args)
HOUR() function, all dialects support this function


fn_LENGTH

public String fn_LENGTH(Object... args)
LENGTH() function, all dialects support this function


fn_LOCATE

public String fn_LOCATE(Object... args)
LOCATE() function, all dialects support this function


fn_LOWER

public String fn_LOWER(Object... args)
LOWER() function, all dialects support this function


fn_MAX

public String fn_MAX(Object... args)
MAX() function, all dialects support this function


fn_MIN

public String fn_MIN(Object... args)
MIN() function, all dialects support this function


fn_MINUTE

public String fn_MINUTE(Object... args)
MINUTE() function, all dialects support this function


fn_MOD

public String fn_MOD(Object... args)
MOD() function, all dialects support this function


fn_MONTH

public String fn_MONTH(Object... args)
MONTH() function, all dialects support this function


fn_NULLIF

public String fn_NULLIF(Object... args)
NULLIF() function, all dialects support this function


fn_SECOND

public String fn_SECOND(Object... args)
SECOND() function, all dialects support this function


fn_SQRT

public String fn_SQRT(Object... args)
SQRT() function, all dialects support this function


fn_STR

public String fn_STR(Object... args)
STR() function, all dialects support this function


fn_SUBSTRING

public String fn_SUBSTRING(Object... args)
SUBSTRING() function, all dialects support this function


fn_SUM

public String fn_SUM(Object... args)
SUM() function, all dialects support this function


fn_TRIM

public String fn_TRIM(Object... args)
TRIM() function, all dialects support this function


fn_UPPER

public String fn_UPPER(Object... args)
UPPER() function, all dialects support this function


fn_YEAR

public String fn_YEAR(Object... args)
YEAR() function, all dialects support this function


fn_concat

public String fn_concat(Object... args)
CONCAT() function, 93% dialects support this function


fn_cos

public String fn_cos(Object... args)
COS() function, 83% dialects support this function


fn_exp

public String fn_exp(Object... args)
EXP() function, 83% dialects support this function


fn_sin

public String fn_sin(Object... args)
SIN() function, 83% dialects support this function


fn_log

public String fn_log(Object... args)
LOG() function, 81% dialects support this function


fn_round

public String fn_round(Object... args)
ROUND() function, 81% dialects support this function


fn_atan

public String fn_atan(Object... args)
ATAN() function, 80% dialects support this function


fn_sign

public String fn_sign(Object... args)
SIGN() function, 80% dialects support this function


fn_acos

public String fn_acos(Object... args)
ACOS() function, 79% dialects support this function


fn_asin

public String fn_asin(Object... args)
ASIN() function, 79% dialects support this function


fn_current_date

public String fn_current_date(Object... args)
CURRENT_DATE() function, 79% dialects support this function


fn_floor

public String fn_floor(Object... args)
FLOOR() function, 79% dialects support this function


fn_tan

public String fn_tan(Object... args)
TAN() function, 79% dialects support this function


fn_current_timestamp

public String fn_current_timestamp(Object... args)
CURRENT_TIMESTAMP() function, 76% dialects support this function


fn_current_time

public String fn_current_time(Object... args)
CURRENT_TIME() function, 73% dialects support this function


fn_cot

public String fn_cot(Object... args)
COT() function, 69% dialects support this function


fn_ascii

public String fn_ascii(Object... args)
ASCII() function, 68% dialects support this function


fn_rtrim

public String fn_rtrim(Object... args)
RTRIM() function, 67% dialects support this function


fn_ln

public String fn_ln(Object... args)
LN() function, 65% dialects support this function


fn_ltrim

public String fn_ltrim(Object... args)
LTRIM() function, 65% dialects support this function


fn_degrees

public String fn_degrees(Object... args)
DEGREES() function, 64% dialects support this function


fn_radians

public String fn_radians(Object... args)
RADIANS() function, 63% dialects support this function


fn_rand

public String fn_rand(Object... args)
RAND() function, 63% dialects support this function


fn_ceil

public String fn_ceil(Object... args)
CEIL() function, 61% dialects support this function


fn_soundex

public String fn_soundex(Object... args)
SOUNDEX() function, 56% dialects support this function


fn_user

public String fn_user(Object... args)
USER() function, 56% dialects support this function


fn_log10

public String fn_log10(Object... args)
LOG10() function, 52% dialects support this function


fn_substr

public String fn_substr(Object... args)
SUBSTR() function, 51% dialects support this function


fn_ceiling

public String fn_ceiling(Object... args)
CEILING() function, 49% dialects support this function


fn_stddev

public String fn_stddev(Object... args)
STDDEV() function, 49% dialects support this function


fn_now

public String fn_now(Object... args)
NOW() function, 45% dialects support this function


fn_char_length

public String fn_char_length(Object... args)
CHAR_LENGTH() function, 44% dialects support this function


fn_chr

public String fn_chr(Object... args)
CHR() function, 44% dialects support this function


fn_dayofyear

public String fn_dayofyear(Object... args)
DAYOFYEAR() function, 44% dialects support this function


fn_octet_length

public String fn_octet_length(Object... args)
OCTET_LENGTH() function, 43% dialects support this function


fn_pi

public String fn_pi(Object... args)
PI() function, 43% dialects support this function


fn_week

public String fn_week(Object... args)
WEEK() function, 43% dialects support this function


fn_dayname

public String fn_dayname(Object... args)
DAYNAME() function, 41% dialects support this function


fn_dayofweek

public String fn_dayofweek(Object... args)
DAYOFWEEK() function, 41% dialects support this function


fn_lcase

public String fn_lcase(Object... args)
LCASE() function, 41% dialects support this function


fn_monthname

public String fn_monthname(Object... args)
MONTHNAME() function, 41% dialects support this function


fn_quarter

public String fn_quarter(Object... args)
QUARTER() function, 41% dialects support this function


fn_space

public String fn_space(Object... args)
SPACE() function, 41% dialects support this function


fn_sysdate

public String fn_sysdate(Object... args)
SYSDATE() function, 41% dialects support this function


fn_ucase

public String fn_ucase(Object... args)
UCASE() function, 41% dialects support this function


fn_char

public String fn_char(Object... args)
CHAR() function, 39% dialects support this function


fn_reverse

public String fn_reverse(Object... args)
REVERSE() function, 39% dialects support this function


fn_hex

public String fn_hex(Object... args)
HEX() function, 37% dialects support this function


fn_last_day

public String fn_last_day(Object... args)
LAST_DAY() function, 37% dialects support this function


fn_md5

public String fn_md5(Object... args)
MD5() function, 37% dialects support this function


fn_time

public String fn_time(Object... args)
TIME() function, 37% dialects support this function


fn_timestamp

public String fn_timestamp(Object... args)
TIMESTAMP() function, 37% dialects support this function


fn_date

public String fn_date(Object... args)
DATE() function, 36% dialects support this function


fn_trunc

public String fn_trunc(Object... args)
TRUNC() function, 36% dialects support this function


fn_variance

public String fn_variance(Object... args)
VARIANCE() function, 36% dialects support this function


fn_initcap

public String fn_initcap(Object... args)
INITCAP() function, 35% dialects support this function


fn_power

public String fn_power(Object... args)
POWER() function, 35% dialects support this function


fn_dayofmonth

public String fn_dayofmonth(Object... args)
DAYOFMONTH() function, 33% dialects support this function


fn_atan2

public String fn_atan2(Object... args)
ATAN2() function, 31% dialects support this function


fn_character_length

public String fn_character_length(Object... args)
CHARACTER_LENGTH() function, 31% dialects support this function


fn_curdate

public String fn_curdate(Object... args)
CURDATE() function, 29% dialects support this function


fn_curtime

public String fn_curtime(Object... args)
CURTIME() function, 29% dialects support this function


fn_datediff

public String fn_datediff(Object... args)
DATEDIFF() function, 29% dialects support this function


fn_replace

public String fn_replace(Object... args)
REPLACE() function, 29% dialects support this function


fn_to_date

public String fn_to_date(Object... args)
TO_DATE() function, 29% dialects support this function


fn_localtime

public String fn_localtime(Object... args)
LOCALTIME() function, 28% dialects support this function


fn_localtimestamp

public String fn_localtimestamp(Object... args)
LOCALTIMESTAMP() function, 28% dialects support this function


fn_nvl

public String fn_nvl(Object... args)
NVL() function, 28% dialects support this function


fn_to_char

public String fn_to_char(Object... args)
TO_CHAR() function, 28% dialects support this function


fn_lpad

public String fn_lpad(Object... args)
LPAD() function, 27% dialects support this function


fn_rpad

public String fn_rpad(Object... args)
RPAD() function, 27% dialects support this function


fn_bin

public String fn_bin(Object... args)
BIN() function, 24% dialects support this function


fn_encrypt

public String fn_encrypt(Object... args)
ENCRYPT() function, 24% dialects support this function


fn_from_days

public String fn_from_days(Object... args)
FROM_DAYS() function, 24% dialects support this function


fn_log2

public String fn_log2(Object... args)
LOG2() function, 24% dialects support this function


fn_timediff

public String fn_timediff(Object... args)
TIMEDIFF() function, 24% dialects support this function


fn_to_days

public String fn_to_days(Object... args)
TO_DAYS() function, 24% dialects support this function


fn_weekofyear

public String fn_weekofyear(Object... args)
WEEKOFYEAR() function, 24% dialects support this function


fn_crc32

public String fn_crc32(Object... args)
CRC32() function, 23% dialects support this function


fn_instr

public String fn_instr(Object... args)
INSTR() function, 23% dialects support this function


fn_isnull

public String fn_isnull(Object... args)
ISNULL() function, 23% dialects support this function


fn_len

public String fn_len(Object... args)
LEN() function, 23% dialects support this function


fn_oct

public String fn_oct(Object... args)
OCT() function, 23% dialects support this function


fn_translate

public String fn_translate(Object... args)
TRANSLATE() function, 23% dialects support this function


fn_microsecond

public String fn_microsecond(Object... args)
MICROSECOND() function, 21% dialects support this function


fn_right

public String fn_right(Object... args)
RIGHT() function, 21% dialects support this function


fn_current_user

public String fn_current_user(Object... args)
CURRENT_USER() function, 20% dialects support this function


fn_random

public String fn_random(Object... args)
RANDOM() function, 20% dialects support this function


fn_session_user

public String fn_session_user(Object... args)
SESSION_USER() function, 20% dialects support this function


fn_left

public String fn_left(Object... args)
LEFT() function, 19% dialects support this function


fn_date_trunc

public String fn_date_trunc(Object... args)
DATE_TRUNC() function, 17% dialects support this function


fn_unhex

public String fn_unhex(Object... args)
UNHEX() function, 17% dialects support this function


fn_weekday

public String fn_weekday(Object... args)
WEEKDAY() function, 17% dialects support this function


fn_current_schema

public String fn_current_schema(Object... args)
CURRENT_SCHEMA() function, 16% dialects support this function


fn_position

public String fn_position(Object... args)
POSITION() function, 16% dialects support this function


fn_to_timestamp

public String fn_to_timestamp(Object... args)
TO_TIMESTAMP() function, 16% dialects support this function


paginate

public String paginate(int pageNumber,
                       int pageSize,
                       String sql)
Create a pagination SQL by given pageNumber, pageSize and SQL

Parameters:
pageNumber - The page number, start from 1
pageSize - The page item size
trimedSql - 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(Table... tables)
Transfer tables to formatted create DDL


toDropDDL

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


toDropAndCreateDDL

public String[] toDropAndCreateDDL(Table... 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


getNextAutoID

public Long getNextAutoID(Connection connection)
                   throws SQLException
Get a Long type Auto-Generated ID from sequence or "jdialects_autoid" table.
Note: need run inside of a transaction, because if fetch generated ID from "jdialects_autoid" table, need run 2 SQLs:
update jdialects_autoid set next_val=next_val+1
select next_val from jdialects_autoid

Throws:
SQLException

getTypeMappings

public Map<Type,String> getTypeMappings()

getFunctions

public Map<String,String> getFunctions()

getDdlFeatures

public DDLFeatures getDdlFeatures()


Copyright © 2017. All rights reserved.