mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 00:58:24 +08:00
commit
ea45ff983c
@ -15,250 +15,174 @@
|
|||||||
*/
|
*/
|
||||||
package com.mybatisflex.core.dialect;
|
package com.mybatisflex.core.dialect;
|
||||||
|
|
||||||
|
|
||||||
import com.mybatisflex.core.util.StringUtil;
|
import com.mybatisflex.core.util.StringUtil;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
public enum DbType {
|
public enum DbType {
|
||||||
|
|
||||||
/**
|
/** ClickHouse */
|
||||||
* MYSQL
|
CLICK_HOUSE("clickhouse", "clickhouse 数据库"),
|
||||||
*/
|
|
||||||
MYSQL("mysql", "MySql 数据库"),
|
|
||||||
|
|
||||||
/**
|
/** CSIIDB */
|
||||||
* MARIADB
|
CSIIDB("csiidb", "CSIIDB 数据库"),
|
||||||
*/
|
|
||||||
MARIADB("mariadb", "MariaDB 数据库"),
|
|
||||||
|
|
||||||
/**
|
/** CUBRID */
|
||||||
* ORACLE
|
CUBRID("cubrid", "CUBRID 数据库"),
|
||||||
*/
|
|
||||||
ORACLE("oracle", "Oracle11g 及以下数据库"),
|
|
||||||
|
|
||||||
/**
|
/** DB2 */
|
||||||
* oracle12c
|
|
||||||
*/
|
|
||||||
ORACLE_12C("oracle12c", "Oracle12c 及以上数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DB2
|
|
||||||
*/
|
|
||||||
DB2("db2", "DB2 数据库"),
|
DB2("db2", "DB2 数据库"),
|
||||||
DB2_1005("db2_1005", "DB2 10.5版本数据库"),
|
DB2_1005("db2_1005", "DB2 10.5版本数据库"),
|
||||||
|
|
||||||
/**
|
/** derby */
|
||||||
* H2
|
|
||||||
*/
|
|
||||||
H2("h2", "H2 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* HSQL
|
|
||||||
*/
|
|
||||||
HSQL("hsql", "HSQL 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* SQLITE
|
|
||||||
*/
|
|
||||||
SQLITE("sqlite", "SQLite 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* POSTGRE
|
|
||||||
*/
|
|
||||||
POSTGRE_SQL("postgresql", "PostgreSQL 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* SQLSERVER
|
|
||||||
*/
|
|
||||||
SQLSERVER("sqlserver", "SQLServer 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* SqlServer 2005 数据库
|
|
||||||
*/
|
|
||||||
SQLSERVER_2005("sqlserver_2005", "SQLServer 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DM
|
|
||||||
*/
|
|
||||||
DM("dm", "达梦数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* xugu
|
|
||||||
*/
|
|
||||||
XUGU("xugu", "虚谷数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Kingbase
|
|
||||||
*/
|
|
||||||
KINGBASE_ES("kingbasees", "人大金仓数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Phoenix
|
|
||||||
*/
|
|
||||||
PHOENIX("phoenix", "Phoenix HBase 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gauss
|
|
||||||
*/
|
|
||||||
GAUSS("gauss", "Gauss 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ClickHouse
|
|
||||||
*/
|
|
||||||
CLICK_HOUSE("clickhouse", "clickhouse 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GBase
|
|
||||||
*/
|
|
||||||
GBASE("gbase", "南大通用(华库)数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GBase-8s
|
|
||||||
*/
|
|
||||||
GBASE_8S("gbase-8s", "南大通用数据库 GBase 8s"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Oscar
|
|
||||||
*/
|
|
||||||
OSCAR("oscar", "神通数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sybase
|
|
||||||
*/
|
|
||||||
SYBASE("sybase", "Sybase ASE 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* OceanBase
|
|
||||||
*/
|
|
||||||
OCEAN_BASE("oceanbase", "OceanBase 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Firebird
|
|
||||||
*/
|
|
||||||
FIREBIRD("Firebird", "Firebird 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* derby
|
|
||||||
*/
|
|
||||||
DERBY("derby", "Derby 数据库"),
|
DERBY("derby", "Derby 数据库"),
|
||||||
|
|
||||||
/**
|
/** DM */
|
||||||
* HighGo
|
DM("dm", "达梦数据库"),
|
||||||
*/
|
|
||||||
HIGH_GO("highgo", "瀚高数据库"),
|
|
||||||
|
|
||||||
/**
|
/** Doris 兼容 Mysql,使用 MySql 驱动和协议 */
|
||||||
* CUBRID
|
|
||||||
*/
|
|
||||||
CUBRID("cubrid", "CUBRID 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GOLDILOCKS
|
|
||||||
*/
|
|
||||||
GOLDILOCKS("goldilocks", "GOLDILOCKS 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* CSIIDB
|
|
||||||
*/
|
|
||||||
CSIIDB("csiidb", "CSIIDB 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* CSIIDB
|
|
||||||
*/
|
|
||||||
SAP_HANA("hana", "SAP_HANA 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Impala
|
|
||||||
*/
|
|
||||||
IMPALA("impala", "impala 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Vertica
|
|
||||||
*/
|
|
||||||
VERTICA("vertica", "vertica数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 东方国信 xcloud
|
|
||||||
*/
|
|
||||||
XCloud("xcloud", "行云数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* redshift
|
|
||||||
*/
|
|
||||||
REDSHIFT("redshift", "亚马逊 redshift 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* openGauss
|
|
||||||
*/
|
|
||||||
OPENGAUSS("openGauss", "华为 openGauss 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* TDengine
|
|
||||||
*/
|
|
||||||
TDENGINE("TDengine", "TDengine 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Informix
|
|
||||||
*/
|
|
||||||
INFORMIX("informix", "Informix 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* sinodb
|
|
||||||
*/
|
|
||||||
SINODB("sinodb", "SinoDB 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* uxdb
|
|
||||||
*/
|
|
||||||
UXDB("uxdb", "优炫数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* greenplum
|
|
||||||
*/
|
|
||||||
GREENPLUM("greenplum", "greenplum 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* lealone
|
|
||||||
*/
|
|
||||||
LEALONE("lealone", "lealone 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Hive SQL
|
|
||||||
*/
|
|
||||||
HIVE("Hive", "Hive SQL"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Doris 兼容 Mysql,使用 MySql 驱动和协议
|
|
||||||
*/
|
|
||||||
DORIS("doris", "doris 数据库"),
|
DORIS("doris", "doris 数据库"),
|
||||||
|
|
||||||
/**
|
/** Duckdb */
|
||||||
* Trino
|
|
||||||
*/
|
|
||||||
TRINO("trino", "trino 数据库"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Duckdb
|
|
||||||
*/
|
|
||||||
DUCKDB("duckdb", "duckdb 数据库"),
|
DUCKDB("duckdb", "duckdb 数据库"),
|
||||||
|
|
||||||
/**
|
/** Firebird */
|
||||||
* UNKNOWN DB
|
FIREBIRD("Firebird", "Firebird 数据库"),
|
||||||
*/
|
|
||||||
|
/** Gauss */
|
||||||
|
GAUSS("gauss", "Gauss 数据库"),
|
||||||
|
|
||||||
|
/** GBase */
|
||||||
|
GBASE("gbase", "南大通用(华库)数据库"),
|
||||||
|
|
||||||
|
/** GBase-8c */
|
||||||
|
GBASE_8C("gbase-8c", "南大通用数据库 GBase 8c"),
|
||||||
|
|
||||||
|
/** GBase-8s */
|
||||||
|
GBASE_8S("gbase-8s", "南大通用数据库 GBase 8s"),
|
||||||
|
|
||||||
|
/** GBase-8s-pg */
|
||||||
|
GBASE_8S_PG("gbase-8s-pg", "南大通用数据库 GBase 8s兼容pg"),
|
||||||
|
|
||||||
|
/** GOLDENDB */
|
||||||
|
GOLDENDB("goldendb", "GoldenDB数据库"),
|
||||||
|
|
||||||
|
/** GOLDILOCKS */
|
||||||
|
GOLDILOCKS("goldilocks", "GOLDILOCKS 数据库"),
|
||||||
|
|
||||||
|
/** greenplum */
|
||||||
|
GREENPLUM("greenplum", "greenplum 数据库"),
|
||||||
|
|
||||||
|
/** H2 */
|
||||||
|
H2("h2", "H2 数据库"),
|
||||||
|
|
||||||
|
/** HighGo */
|
||||||
|
HIGH_GO("highgo", "瀚高数据库"),
|
||||||
|
|
||||||
|
/** Hive SQL */
|
||||||
|
HIVE("Hive", "Hive SQL"),
|
||||||
|
|
||||||
|
/** HSQL */
|
||||||
|
HSQL("hsql", "HSQL 数据库"),
|
||||||
|
|
||||||
|
/** Impala */
|
||||||
|
IMPALA("impala", "impala 数据库"),
|
||||||
|
|
||||||
|
/** Informix */
|
||||||
|
INFORMIX("informix", "Informix 数据库"),
|
||||||
|
|
||||||
|
/** Kingbase */
|
||||||
|
KINGBASE_ES("kingbasees", "人大金仓数据库"),
|
||||||
|
|
||||||
|
/** lealone */
|
||||||
|
LEALONE("lealone", "lealone 数据库"),
|
||||||
|
|
||||||
|
/** MARIADB */
|
||||||
|
MARIADB("mariadb", "MariaDB 数据库"),
|
||||||
|
|
||||||
|
/** MYSQL */
|
||||||
|
MYSQL("mysql", "MySql 数据库"),
|
||||||
|
|
||||||
|
/** OceanBase */
|
||||||
|
OCEAN_BASE("oceanbase", "OceanBase 数据库"),
|
||||||
|
|
||||||
|
/** openGauss */
|
||||||
|
OPENGAUSS("openGauss", "华为 openGauss 数据库"),
|
||||||
|
|
||||||
|
/** ORACLE */
|
||||||
|
ORACLE("oracle", "Oracle11g 及以下数据库"),
|
||||||
|
|
||||||
|
/** oracle12c */
|
||||||
|
ORACLE_12C("oracle12c", "Oracle12c 及以上数据库"),
|
||||||
|
|
||||||
|
/** Oscar */
|
||||||
|
OSCAR("oscar", "神通数据库"),
|
||||||
|
|
||||||
|
/** Phoenix */
|
||||||
|
PHOENIX("phoenix", "Phoenix HBase 数据库"),
|
||||||
|
|
||||||
|
/** POSTGRE_SQL */
|
||||||
|
POSTGRE_SQL("postgresql", "PostgreSQL 数据库"),
|
||||||
|
|
||||||
|
/** presto */
|
||||||
|
PRESTO("presto", "Presto数据库"),
|
||||||
|
|
||||||
|
/** redshift */
|
||||||
|
REDSHIFT("redshift", "亚马逊 redshift 数据库"),
|
||||||
|
|
||||||
|
/** SAP_HANA */
|
||||||
|
SAP_HANA("hana", "SAP_HANA 数据库"),
|
||||||
|
|
||||||
|
/** sinodb */
|
||||||
|
SINODB("sinodb", "SinoDB 数据库"),
|
||||||
|
|
||||||
|
/** SQLITE */
|
||||||
|
SQLITE("sqlite", "SQLite 数据库"),
|
||||||
|
|
||||||
|
/** SQLSERVER */
|
||||||
|
SQLSERVER("sqlserver", "SQLServer 数据库"),
|
||||||
|
|
||||||
|
/** SqlServer 2005 数据库 */
|
||||||
|
SQLSERVER_2005("sqlserver_2005", "SQLServer 数据库"),
|
||||||
|
|
||||||
|
/** SUNDB */
|
||||||
|
SUNDB("sundb", "SUNDB数据库"),
|
||||||
|
|
||||||
|
/** Sybase */
|
||||||
|
SYBASE("sybase", "Sybase ASE 数据库"),
|
||||||
|
|
||||||
|
/** TDengine */
|
||||||
|
TDENGINE("TDengine", "TDengine 数据库"),
|
||||||
|
|
||||||
|
/** Trino */
|
||||||
|
TRINO("trino", "trino 数据库"),
|
||||||
|
|
||||||
|
/** uxdb */
|
||||||
|
UXDB("uxdb", "优炫数据库"),
|
||||||
|
|
||||||
|
/** VASTBASE */
|
||||||
|
VASTBASE("vastbase", "Vastbase数据库"),
|
||||||
|
|
||||||
|
/** Vertica */
|
||||||
|
VERTICA("vertica", "vertica数据库"),
|
||||||
|
|
||||||
|
/** XCloud */
|
||||||
|
XCloud("xcloud", "行云数据库"),
|
||||||
|
|
||||||
|
/** xugu */
|
||||||
|
XUGU("xugu", "虚谷数据库"),
|
||||||
|
|
||||||
|
/** yasdb */
|
||||||
|
YASDB("yasdb", "崖山数据库"),
|
||||||
|
|
||||||
|
/** OTHER */
|
||||||
OTHER("other", "其他数据库");
|
OTHER("other", "其他数据库");
|
||||||
|
|
||||||
/**
|
/** 数据库名称 */
|
||||||
* 数据库名称
|
|
||||||
*/
|
|
||||||
private final String name;
|
private final String name;
|
||||||
|
|
||||||
/**
|
/** 描述 */
|
||||||
* 描述
|
|
||||||
*/
|
|
||||||
private final String remarks;
|
private final String remarks;
|
||||||
|
|
||||||
|
|
||||||
DbType(String name, String remarks) {
|
DbType(String name, String remarks) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.remarks = remarks;
|
this.remarks = remarks;
|
||||||
|
|||||||
@ -63,15 +63,15 @@ public class DbTypeUtil {
|
|||||||
*/
|
*/
|
||||||
private static DbType getSqlserverDbType(DataSource dataSource) {
|
private static DbType getSqlserverDbType(DataSource dataSource) {
|
||||||
try (Connection connection = dataSource.getConnection();
|
try (Connection connection = dataSource.getConnection();
|
||||||
PreparedStatement preparedStatement = connection.prepareStatement("SELECT @@VERSION");
|
PreparedStatement preparedStatement = connection.prepareStatement("SELECT @@VERSION");
|
||||||
ResultSet resultSet = preparedStatement.executeQuery()) {
|
ResultSet resultSet = preparedStatement.executeQuery()) {
|
||||||
//SELECT @@VERSION 查询返回信息:
|
//SELECT @@VERSION 查询返回信息:
|
||||||
/*
|
/*
|
||||||
Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64)
|
Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64)
|
||||||
Sep 24 2019 13:48:23
|
Sep 24 2019 13:48:23
|
||||||
Copyright (C) 2019 Microsoft Corporation
|
Copyright (C) 2019 Microsoft Corporation
|
||||||
Enterprise Edition (64-bit) on Windows Server 2019 Datacenter 10.0 <X64> (Build 17763: ) (Hypervisor)
|
Enterprise Edition (64-bit) on Windows Server 2019 Datacenter 10.0 <X64> (Build 17763: ) (Hypervisor)
|
||||||
*/
|
*/
|
||||||
if (resultSet.next()) {
|
if (resultSet.next()) {
|
||||||
String version = resultSet.getString(1);
|
String version = resultSet.getString(1);
|
||||||
if (StringUtil.hasText(version)) {
|
if (StringUtil.hasText(version)) {
|
||||||
@ -124,86 +124,106 @@ public class DbTypeUtil {
|
|||||||
*/
|
*/
|
||||||
public static DbType parseDbType(String jdbcUrl) {
|
public static DbType parseDbType(String jdbcUrl) {
|
||||||
jdbcUrl = jdbcUrl.toLowerCase();
|
jdbcUrl = jdbcUrl.toLowerCase();
|
||||||
if (jdbcUrl.contains(":mysql:") || jdbcUrl.contains(":cobar:")) {
|
if (jdbcUrl.contains(":ch:") || jdbcUrl.contains(":clickhouse:")) {
|
||||||
|
return DbType.CLICK_HOUSE;
|
||||||
|
} else if (jdbcUrl.contains(":cobar:")) {
|
||||||
return DbType.MYSQL;
|
return DbType.MYSQL;
|
||||||
} else if (jdbcUrl.contains(":mariadb:")) {
|
} else if (jdbcUrl.contains(":csiidb:")) {
|
||||||
return DbType.MARIADB;
|
return DbType.CSIIDB;
|
||||||
} else if (jdbcUrl.contains(":oracle:")) {
|
} else if (jdbcUrl.contains(":cubrid:")) {
|
||||||
return DbType.ORACLE;
|
return DbType.CUBRID;
|
||||||
} else if (jdbcUrl.contains(":sqlserver2012:")) {
|
|
||||||
return DbType.SQLSERVER;
|
|
||||||
} else if (jdbcUrl.contains(":sqlserver:") || jdbcUrl.contains(":microsoft:")) {
|
|
||||||
return DbType.SQLSERVER_2005;
|
|
||||||
} else if (jdbcUrl.contains(":postgresql:")) {
|
|
||||||
return DbType.POSTGRE_SQL;
|
|
||||||
} else if (jdbcUrl.contains(":hsqldb:")) {
|
|
||||||
return DbType.HSQL;
|
|
||||||
} else if (jdbcUrl.contains(":db2:")) {
|
} else if (jdbcUrl.contains(":db2:")) {
|
||||||
return DbType.DB2;
|
return DbType.DB2;
|
||||||
} else if (jdbcUrl.contains(":sqlite:")) {
|
} else if (jdbcUrl.contains(":derby:")) {
|
||||||
return DbType.SQLITE;
|
return DbType.DERBY;
|
||||||
} else if (jdbcUrl.contains(":h2:")) {
|
|
||||||
return DbType.H2;
|
|
||||||
} else if (isMatchedRegex(":dm\\d*:", jdbcUrl)) {
|
} else if (isMatchedRegex(":dm\\d*:", jdbcUrl)) {
|
||||||
return DbType.DM;
|
return DbType.DM;
|
||||||
} else if (jdbcUrl.contains(":xugu:")) {
|
} else if (jdbcUrl.contains(":duckdb:")) {
|
||||||
return DbType.XUGU;
|
return DbType.DUCKDB;
|
||||||
} else if (isMatchedRegex(":kingbase\\d*:", jdbcUrl)) {
|
} else if (jdbcUrl.contains(":firebirdsql:")) {
|
||||||
return DbType.KINGBASE_ES;
|
return DbType.FIREBIRD;
|
||||||
} else if (jdbcUrl.contains(":phoenix:")) {
|
} else if (jdbcUrl.contains(":gaussdb:") || jdbcUrl.contains(":zenith:")) {
|
||||||
return DbType.PHOENIX;
|
|
||||||
} else if (jdbcUrl.contains(":zenith:")) {
|
|
||||||
return DbType.GAUSS;
|
return DbType.GAUSS;
|
||||||
} else if (jdbcUrl.contains(":gbase:")) {
|
} else if (jdbcUrl.contains(":gbase:")) {
|
||||||
return DbType.GBASE;
|
return DbType.GBASE;
|
||||||
|
} else if (jdbcUrl.contains(":gbase8c:")) {
|
||||||
|
return DbType.GBASE_8C;
|
||||||
|
} else if (jdbcUrl.contains(":gbase8s-pg:")) {
|
||||||
|
return DbType.GBASE_8S_PG;
|
||||||
} else if (jdbcUrl.contains(":gbasedbt-sqli:") || jdbcUrl.contains(":informix-sqli:")) {
|
} else if (jdbcUrl.contains(":gbasedbt-sqli:") || jdbcUrl.contains(":informix-sqli:")) {
|
||||||
return DbType.GBASE_8S;
|
return DbType.GBASE_8S;
|
||||||
} else if (jdbcUrl.contains(":ch:") || jdbcUrl.contains(":clickhouse:")) {
|
} else if (jdbcUrl.contains(":goldendb:")) {
|
||||||
return DbType.CLICK_HOUSE;
|
return DbType.GOLDENDB;
|
||||||
} else if (jdbcUrl.contains(":oscar:")) {
|
|
||||||
return DbType.OSCAR;
|
|
||||||
} else if (jdbcUrl.contains(":sybase:")) {
|
|
||||||
return DbType.SYBASE;
|
|
||||||
} else if (jdbcUrl.contains(":oceanbase:")) {
|
|
||||||
return DbType.OCEAN_BASE;
|
|
||||||
} else if (jdbcUrl.contains(":highgo:")) {
|
|
||||||
return DbType.HIGH_GO;
|
|
||||||
} else if (jdbcUrl.contains(":cubrid:")) {
|
|
||||||
return DbType.CUBRID;
|
|
||||||
} else if (jdbcUrl.contains(":goldilocks:")) {
|
} else if (jdbcUrl.contains(":goldilocks:")) {
|
||||||
return DbType.GOLDILOCKS;
|
return DbType.GOLDILOCKS;
|
||||||
} else if (jdbcUrl.contains(":csiidb:")) {
|
} else if (jdbcUrl.contains(":greenplum:")) {
|
||||||
return DbType.CSIIDB;
|
return DbType.GREENPLUM;
|
||||||
} else if (jdbcUrl.contains(":sap:")) {
|
} else if (jdbcUrl.contains(":h2:")) {
|
||||||
return DbType.SAP_HANA;
|
return DbType.H2;
|
||||||
|
} else if (jdbcUrl.contains(":highgo:")) {
|
||||||
|
return DbType.HIGH_GO;
|
||||||
|
} else if (jdbcUrl.contains(":hive2:") || jdbcUrl.contains(":inceptor2:")) {
|
||||||
|
return DbType.HIVE;
|
||||||
|
} else if (jdbcUrl.contains(":hsqldb:")) {
|
||||||
|
return DbType.HSQL;
|
||||||
} else if (jdbcUrl.contains(":impala:")) {
|
} else if (jdbcUrl.contains(":impala:")) {
|
||||||
return DbType.IMPALA;
|
return DbType.IMPALA;
|
||||||
|
} else if (jdbcUrl.contains(":informix")) {
|
||||||
|
return DbType.INFORMIX;
|
||||||
|
} else if (jdbcUrl.contains(":kingbase\\d*:") && isMatchedRegex(":kingbase\\d*:", jdbcUrl)) {
|
||||||
|
return DbType.KINGBASE_ES;
|
||||||
|
} else if (jdbcUrl.contains(":lealone:")) {
|
||||||
|
return DbType.LEALONE;
|
||||||
|
} else if (jdbcUrl.contains(":mariadb:")) {
|
||||||
|
return DbType.MARIADB;
|
||||||
|
} else if (jdbcUrl.contains(":mysql:")) {
|
||||||
|
return DbType.MYSQL;
|
||||||
|
} else if (jdbcUrl.contains(":oceanbase:")) {
|
||||||
|
return DbType.OCEAN_BASE;
|
||||||
|
} else if (jdbcUrl.contains(":opengauss:")) {
|
||||||
|
return DbType.OPENGAUSS;
|
||||||
|
} else if (jdbcUrl.contains(":oracle:")) {
|
||||||
|
return DbType.ORACLE;
|
||||||
|
} else if (jdbcUrl.contains(":oscar:")) {
|
||||||
|
return DbType.OSCAR;
|
||||||
|
} else if (jdbcUrl.contains(":phoenix:")) {
|
||||||
|
return DbType.PHOENIX;
|
||||||
|
} else if (jdbcUrl.contains(":postgresql:")) {
|
||||||
|
return DbType.POSTGRE_SQL;
|
||||||
|
} else if (jdbcUrl.contains(":presto:")) {
|
||||||
|
return DbType.PRESTO;
|
||||||
|
} else if (jdbcUrl.contains(":redshift:")) {
|
||||||
|
return DbType.REDSHIFT;
|
||||||
|
} else if (jdbcUrl.contains(":sap:")) {
|
||||||
|
return DbType.SAP_HANA;
|
||||||
|
} else if (jdbcUrl.contains(":sinodb")) {
|
||||||
|
return DbType.SINODB;
|
||||||
|
} else if (jdbcUrl.contains(":sqlite:")) {
|
||||||
|
return DbType.SQLITE;
|
||||||
|
} else if (jdbcUrl.contains(":sqlserver:")) {
|
||||||
|
return DbType.SQLSERVER_2005;
|
||||||
|
} else if (jdbcUrl.contains(":sqlserver2012:")) {
|
||||||
|
return DbType.SQLSERVER;
|
||||||
|
} else if (jdbcUrl.contains(":sundb:")) {
|
||||||
|
return DbType.SUNDB;
|
||||||
|
} else if (jdbcUrl.contains(":sybase:")) {
|
||||||
|
return DbType.SYBASE;
|
||||||
|
} else if (jdbcUrl.contains(":taos:") || jdbcUrl.contains(":taos-rs:")) {
|
||||||
|
return DbType.TDENGINE;
|
||||||
|
} else if (jdbcUrl.contains(":trino:")) {
|
||||||
|
return DbType.TRINO;
|
||||||
|
} else if (jdbcUrl.contains(":uxdb:")) {
|
||||||
|
return DbType.UXDB;
|
||||||
|
} else if (jdbcUrl.contains(":vastbase:")) {
|
||||||
|
return DbType.VASTBASE;
|
||||||
} else if (jdbcUrl.contains(":vertica:")) {
|
} else if (jdbcUrl.contains(":vertica:")) {
|
||||||
return DbType.VERTICA;
|
return DbType.VERTICA;
|
||||||
} else if (jdbcUrl.contains(":xcloud:")) {
|
} else if (jdbcUrl.contains(":xcloud:")) {
|
||||||
return DbType.XCloud;
|
return DbType.XCloud;
|
||||||
} else if (jdbcUrl.contains(":firebirdsql:")) {
|
} else if (jdbcUrl.contains(":xugu:")) {
|
||||||
return DbType.FIREBIRD;
|
return DbType.XUGU;
|
||||||
} else if (jdbcUrl.contains(":redshift:")) {
|
} else if (jdbcUrl.contains(":yasdb:")) {
|
||||||
return DbType.REDSHIFT;
|
return DbType.YASDB;
|
||||||
} else if (jdbcUrl.contains(":opengauss:")) {
|
|
||||||
return DbType.OPENGAUSS;
|
|
||||||
} else if (jdbcUrl.contains(":taos:") || jdbcUrl.contains(":taos-rs:")) {
|
|
||||||
return DbType.TDENGINE;
|
|
||||||
} else if (jdbcUrl.contains(":informix")) {
|
|
||||||
return DbType.INFORMIX;
|
|
||||||
} else if (jdbcUrl.contains(":sinodb")) {
|
|
||||||
return DbType.SINODB;
|
|
||||||
} else if (jdbcUrl.contains(":uxdb:")) {
|
|
||||||
return DbType.UXDB;
|
|
||||||
} else if (jdbcUrl.contains(":greenplum:")) {
|
|
||||||
return DbType.GREENPLUM;
|
|
||||||
} else if (jdbcUrl.contains(":lealone:")) {
|
|
||||||
return DbType.LEALONE;
|
|
||||||
} else if (jdbcUrl.contains(":hive2:")) {
|
|
||||||
return DbType.HIVE;
|
|
||||||
} else if (jdbcUrl.contains(":duckdb:")) {
|
|
||||||
return DbType.DUCKDB;
|
|
||||||
} else {
|
} else {
|
||||||
return DbType.OTHER;
|
return DbType.OTHER;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -106,6 +106,9 @@ public class DialectFactory {
|
|||||||
case CSIIDB:
|
case CSIIDB:
|
||||||
case HIVE:
|
case HIVE:
|
||||||
case DORIS:
|
case DORIS:
|
||||||
|
case GOLDENDB:
|
||||||
|
case SUNDB:
|
||||||
|
case YASDB:
|
||||||
return new CommonsDialectImpl(KeywordWrap.BACK_QUOTE, LimitOffsetProcessor.MYSQL);
|
return new CommonsDialectImpl(KeywordWrap.BACK_QUOTE, LimitOffsetProcessor.MYSQL);
|
||||||
case CLICK_HOUSE:
|
case CLICK_HOUSE:
|
||||||
return new ClickhouseDialectImpl(KeywordWrap.NONE, LimitOffsetProcessor.MYSQL);
|
return new ClickhouseDialectImpl(KeywordWrap.NONE, LimitOffsetProcessor.MYSQL);
|
||||||
@ -131,6 +134,11 @@ public class DialectFactory {
|
|||||||
case UXDB:
|
case UXDB:
|
||||||
case LEALONE:
|
case LEALONE:
|
||||||
case DUCKDB:
|
case DUCKDB:
|
||||||
|
case GBASE_8C:
|
||||||
|
case GBASE_8S_PG:
|
||||||
|
case VASTBASE:
|
||||||
|
case TRINO:
|
||||||
|
case PRESTO:
|
||||||
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.POSTGRESQL);
|
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.POSTGRESQL);
|
||||||
case TDENGINE:
|
case TDENGINE:
|
||||||
return new CommonsDialectImpl(KeywordWrap.BACK_QUOTE, LimitOffsetProcessor.POSTGRESQL);
|
return new CommonsDialectImpl(KeywordWrap.BACK_QUOTE, LimitOffsetProcessor.POSTGRESQL);
|
||||||
@ -151,8 +159,6 @@ public class DialectFactory {
|
|||||||
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SINODB);
|
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SINODB);
|
||||||
case SYBASE:
|
case SYBASE:
|
||||||
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SYBASE);
|
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SYBASE);
|
||||||
case TRINO:
|
|
||||||
return new CommonsDialectImpl(KeywordWrap.NONE, LimitOffsetProcessor.SQLSERVER);
|
|
||||||
default:
|
default:
|
||||||
return new CommonsDialectImpl();
|
return new CommonsDialectImpl();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user