!126 添加了星瑞格数据库

Merge pull request !126 from 吴精/main
This commit is contained in:
Michael Yang 2023-07-12 02:41:07 +00:00 committed by Gitee
commit 677eabdbe5
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
4 changed files with 23 additions and 0 deletions

View File

@ -163,6 +163,10 @@ public enum DbType {
* Informix
*/
INFORMIX("informix", "Informix 数据库"),
/**
* sinodb
*/
SINODB("sinodb", "星瑞格数据库"),
/**
* uxdb
*/

View File

@ -160,6 +160,8 @@ public class DbTypeUtil {
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:")) {

View File

@ -138,6 +138,8 @@ public class DialectFactory {
return new CommonsDialectImpl(KeywordWrap.SQUARE_BRACKETS, LimitOffsetProcessor.SQLSERVER_2005);
case INFORMIX:
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.INFORMIX);
case SINODB:
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SINODB);
case SYBASE:
return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SYBASE);
default:

View File

@ -156,6 +156,21 @@ public interface LimitOffsetProcessor {
return sql;
};
/**
* SINODB 的处理器
* 适合 {@link DbType#INFORMIX}
*/
LimitOffsetProcessor SINODB = (dialect, sql, queryWrapper, limitRows, limitOffset) -> {
if (limitRows != null && limitOffset != null) {
// SELECT SKIP 2 FIRST 1 * FROM
sql.insert(6, SKIP + limitOffset + FIRST + limitRows);
} else if (limitRows != null) {
sql.insert(6, FIRST + limitRows);
}
return sql;
};
/**
* Firebird 的处理器
* 适合 {@link DbType#FIREBIRD}