mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-06 16:48:24 +08:00
Merge branch 'main' of https://github.com/mybatis-flex/mybatis-flex
This commit is contained in:
commit
a12f528388
@ -15,250 +15,174 @@
|
||||
*/
|
||||
package com.mybatisflex.core.dialect;
|
||||
|
||||
|
||||
import com.mybatisflex.core.util.StringUtil;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public enum DbType {
|
||||
|
||||
/**
|
||||
* MYSQL
|
||||
*/
|
||||
MYSQL("mysql", "MySql 数据库"),
|
||||
/** ClickHouse */
|
||||
CLICK_HOUSE("clickhouse", "clickhouse 数据库"),
|
||||
|
||||
/**
|
||||
* MARIADB
|
||||
*/
|
||||
MARIADB("mariadb", "MariaDB 数据库"),
|
||||
/** CSIIDB */
|
||||
CSIIDB("csiidb", "CSIIDB 数据库"),
|
||||
|
||||
/**
|
||||
* ORACLE
|
||||
*/
|
||||
ORACLE("oracle", "Oracle11g 及以下数据库"),
|
||||
/** CUBRID */
|
||||
CUBRID("cubrid", "CUBRID 数据库"),
|
||||
|
||||
/**
|
||||
* oracle12c
|
||||
*/
|
||||
ORACLE_12C("oracle12c", "Oracle12c 及以上数据库"),
|
||||
|
||||
/**
|
||||
* DB2
|
||||
*/
|
||||
/** DB2 */
|
||||
DB2("db2", "DB2 数据库"),
|
||||
DB2_1005("db2_1005", "DB2 10.5版本数据库"),
|
||||
|
||||
/**
|
||||
* 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 数据库"),
|
||||
|
||||
/**
|
||||
* HighGo
|
||||
*/
|
||||
HIGH_GO("highgo", "瀚高数据库"),
|
||||
/** DM */
|
||||
DM("dm", "达梦数据库"),
|
||||
|
||||
/**
|
||||
* 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 兼容 Mysql,使用 MySql 驱动和协议 */
|
||||
DORIS("doris", "doris 数据库"),
|
||||
|
||||
/**
|
||||
* Trino
|
||||
*/
|
||||
TRINO("trino", "trino 数据库"),
|
||||
|
||||
/**
|
||||
* Duckdb
|
||||
*/
|
||||
/** Duckdb */
|
||||
DUCKDB("duckdb", "duckdb 数据库"),
|
||||
|
||||
/**
|
||||
* UNKNOWN DB
|
||||
*/
|
||||
/** Firebird */
|
||||
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", "其他数据库");
|
||||
|
||||
/**
|
||||
* 数据库名称
|
||||
*/
|
||||
/** 数据库名称 */
|
||||
private final String name;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
/** 描述 */
|
||||
private final String remarks;
|
||||
|
||||
|
||||
DbType(String name, String remarks) {
|
||||
this.name = name;
|
||||
this.remarks = remarks;
|
||||
|
||||
@ -63,15 +63,15 @@ public class DbTypeUtil {
|
||||
*/
|
||||
private static DbType getSqlserverDbType(DataSource dataSource) {
|
||||
try (Connection connection = dataSource.getConnection();
|
||||
PreparedStatement preparedStatement = connection.prepareStatement("SELECT @@VERSION");
|
||||
ResultSet resultSet = preparedStatement.executeQuery()) {
|
||||
PreparedStatement preparedStatement = connection.prepareStatement("SELECT @@VERSION");
|
||||
ResultSet resultSet = preparedStatement.executeQuery()) {
|
||||
//SELECT @@VERSION 查询返回信息:
|
||||
/*
|
||||
Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64)
|
||||
Sep 24 2019 13:48:23
|
||||
Copyright (C) 2019 Microsoft Corporation
|
||||
Enterprise Edition (64-bit) on Windows Server 2019 Datacenter 10.0 <X64> (Build 17763: ) (Hypervisor)
|
||||
*/
|
||||
Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64)
|
||||
Sep 24 2019 13:48:23
|
||||
Copyright (C) 2019 Microsoft Corporation
|
||||
Enterprise Edition (64-bit) on Windows Server 2019 Datacenter 10.0 <X64> (Build 17763: ) (Hypervisor)
|
||||
*/
|
||||
if (resultSet.next()) {
|
||||
String version = resultSet.getString(1);
|
||||
if (StringUtil.hasText(version)) {
|
||||
@ -124,86 +124,106 @@ public class DbTypeUtil {
|
||||
*/
|
||||
public static DbType parseDbType(String jdbcUrl) {
|
||||
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;
|
||||
} else if (jdbcUrl.contains(":mariadb:")) {
|
||||
return DbType.MARIADB;
|
||||
} else if (jdbcUrl.contains(":oracle:")) {
|
||||
return DbType.ORACLE;
|
||||
} 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(":csiidb:")) {
|
||||
return DbType.CSIIDB;
|
||||
} else if (jdbcUrl.contains(":cubrid:")) {
|
||||
return DbType.CUBRID;
|
||||
} else if (jdbcUrl.contains(":db2:")) {
|
||||
return DbType.DB2;
|
||||
} else if (jdbcUrl.contains(":sqlite:")) {
|
||||
return DbType.SQLITE;
|
||||
} else if (jdbcUrl.contains(":h2:")) {
|
||||
return DbType.H2;
|
||||
} else if (jdbcUrl.contains(":derby:")) {
|
||||
return DbType.DERBY;
|
||||
} else if (isMatchedRegex(":dm\\d*:", jdbcUrl)) {
|
||||
return DbType.DM;
|
||||
} else if (jdbcUrl.contains(":xugu:")) {
|
||||
return DbType.XUGU;
|
||||
} else if (isMatchedRegex(":kingbase\\d*:", jdbcUrl)) {
|
||||
return DbType.KINGBASE_ES;
|
||||
} else if (jdbcUrl.contains(":phoenix:")) {
|
||||
return DbType.PHOENIX;
|
||||
} else if (jdbcUrl.contains(":zenith:")) {
|
||||
} else if (jdbcUrl.contains(":duckdb:")) {
|
||||
return DbType.DUCKDB;
|
||||
} else if (jdbcUrl.contains(":firebirdsql:")) {
|
||||
return DbType.FIREBIRD;
|
||||
} else if (jdbcUrl.contains(":gaussdb:") || jdbcUrl.contains(":zenith:")) {
|
||||
return DbType.GAUSS;
|
||||
} else if (jdbcUrl.contains(":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:")) {
|
||||
return DbType.GBASE_8S;
|
||||
} else if (jdbcUrl.contains(":ch:") || jdbcUrl.contains(":clickhouse:")) {
|
||||
return DbType.CLICK_HOUSE;
|
||||
} 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(":goldendb:")) {
|
||||
return DbType.GOLDENDB;
|
||||
} else if (jdbcUrl.contains(":goldilocks:")) {
|
||||
return DbType.GOLDILOCKS;
|
||||
} else if (jdbcUrl.contains(":csiidb:")) {
|
||||
return DbType.CSIIDB;
|
||||
} else if (jdbcUrl.contains(":sap:")) {
|
||||
return DbType.SAP_HANA;
|
||||
} else if (jdbcUrl.contains(":greenplum:")) {
|
||||
return DbType.GREENPLUM;
|
||||
} else if (jdbcUrl.contains(":h2:")) {
|
||||
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:")) {
|
||||
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:")) {
|
||||
return DbType.VERTICA;
|
||||
} else if (jdbcUrl.contains(":xcloud:")) {
|
||||
return DbType.XCloud;
|
||||
} else if (jdbcUrl.contains(":firebirdsql:")) {
|
||||
return DbType.FIREBIRD;
|
||||
} else if (jdbcUrl.contains(":redshift:")) {
|
||||
return DbType.REDSHIFT;
|
||||
} 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 if (jdbcUrl.contains(":xugu:")) {
|
||||
return DbType.XUGU;
|
||||
} else if (jdbcUrl.contains(":yasdb:")) {
|
||||
return DbType.YASDB;
|
||||
} else {
|
||||
return DbType.OTHER;
|
||||
}
|
||||
|
||||
@ -106,6 +106,9 @@ public class DialectFactory {
|
||||
case CSIIDB:
|
||||
case HIVE:
|
||||
case DORIS:
|
||||
case GOLDENDB:
|
||||
case SUNDB:
|
||||
case YASDB:
|
||||
return new CommonsDialectImpl(KeywordWrap.BACK_QUOTE, LimitOffsetProcessor.MYSQL);
|
||||
case CLICK_HOUSE:
|
||||
return new ClickhouseDialectImpl(KeywordWrap.NONE, LimitOffsetProcessor.MYSQL);
|
||||
@ -131,6 +134,11 @@ public class DialectFactory {
|
||||
case UXDB:
|
||||
case LEALONE:
|
||||
case DUCKDB:
|
||||
case GBASE_8C:
|
||||
case GBASE_8S_PG:
|
||||
case VASTBASE:
|
||||
case TRINO:
|
||||
case PRESTO:
|
||||
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.POSTGRESQL);
|
||||
case TDENGINE:
|
||||
return new CommonsDialectImpl(KeywordWrap.BACK_QUOTE, LimitOffsetProcessor.POSTGRESQL);
|
||||
@ -151,8 +159,6 @@ public class DialectFactory {
|
||||
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SINODB);
|
||||
case SYBASE:
|
||||
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SYBASE);
|
||||
case TRINO:
|
||||
return new CommonsDialectImpl(KeywordWrap.NONE, LimitOffsetProcessor.SQLSERVER);
|
||||
default:
|
||||
return new CommonsDialectImpl();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user