feat: dialect support hive sql

This commit is contained in:
开源海哥 2023-08-21 18:40:04 +08:00
parent 94bce8f1fb
commit 22dea1b9c7
3 changed files with 53 additions and 1 deletions

View File

@ -22,102 +22,127 @@ public enum DbType {
* MYSQL
*/
MYSQL("mysql", "MySql 数据库"),
/**
* MARIADB
*/
MARIADB("mariadb", "MariaDB 数据库"),
/**
* ORACLE
*/
ORACLE("oracle", "Oracle11g 及以下数据库"),
/**
* oracle12c
*/
ORACLE_12C("oracle12c", "Oracle12c 及以上数据库"),
/**
* DB2
*/
DB2("db2", "DB2 数据库"),
/**
* 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 数据库"),
/**
* HighGo
*/
HIGH_GO("highgo", "瀚高数据库"),
/**
* CUBRID
*/
@ -127,50 +152,62 @@ public enum DbType {
* 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
*/
@ -180,6 +217,17 @@ public enum DbType {
* lealone
*/
LEALONE("lealone", "lealone 数据库"),
/**
* Hive SQL
*/
HIVE("Hive", "Hive SQL"),
/**
* Doris 兼容 Mysql使用 MySql 驱动和协议
*/
DORIS("doris", "doris 数据库"),
/**
* UNKNOWN DB
*/

View File

@ -169,7 +169,9 @@ public class DbTypeUtil {
return DbType.GREENPLUM;
} else if (jdbcUrl.contains(":lealone:")) {
return DbType.LEALONE;
} else {
} else if (jdbcUrl.contains(":hive2:")) {
return DbType.HIVE;
} else {
return DbType.OTHER;
}
}

View File

@ -107,6 +107,8 @@ public class DialectFactory {
case CUBRID:
case GOLDILOCKS:
case CSIIDB:
case HIVE:
case DORIS:
return new CommonsDialectImpl(KeywordWrap.BACK_QUOTE, LimitOffsetProcessor.MYSQL);
case CLICK_HOUSE:
return new CommonsDialectImpl(KeywordWrap.NONE, LimitOffsetProcessor.MYSQL);