Skip to content

Commit 4fed749

Browse files
committed
新增支持 Doris-高性能实时湖仓一体数据库:https://doris.apache.org
1 parent 107fd37 commit 4fed749

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ public abstract class AbstractSQLConfig<T, M extends Map<String, Object>, L exte
199199
DATABASE_LIST.add(DATABASE_DUCKDB);
200200
DATABASE_LIST.add(DATABASE_SURREALDB);
201201
DATABASE_LIST.add(DATABASE_OPENGAUSS);
202+
DATABASE_LIST.add(DATABASE_DORIS);
202203

203204

204205
RAW_MAP = new LinkedHashMap<>(); // 保证顺序,避免配置冲突等意外情况
@@ -298,6 +299,7 @@ public abstract class AbstractSQLConfig<T, M extends Map<String, Object>, L exte
298299
RAW_MAP.put("BY", "");
299300
RAW_MAP.put("DESC", "");
300301
RAW_MAP.put("ASC", "");
302+
RAW_MAP.put("PRECEDING", ""); // 往前
301303
RAW_MAP.put("FOLLOWING", ""); // 往后
302304
RAW_MAP.put("BETWEEN", "");
303305
RAW_MAP.put("ROWS", "");
@@ -1379,12 +1381,20 @@ public static boolean isOpenGauss(String db) {
13791381
return DATABASE_OPENGAUSS.equals(db);
13801382
}
13811383

1384+
@Override
1385+
public boolean isDoris() {
1386+
return isDoris(gainSQLDatabase());
1387+
}
1388+
public static boolean isDoris(String db) {
1389+
return DATABASE_DORIS.equals(db);
1390+
}
1391+
13821392
@Override
13831393
public String getQuote() { // MongoDB 同时支持 `tbl` 反引号 和 "col" 双引号
13841394
if(isElasticsearch() || isManticore() || isIoTDB() || isSurrealDB()) {
13851395
return "";
13861396
}
1387-
return isMySQL() || isMariaDB() || isTiDB() || isClickHouse() || isTDengine() || isMilvus() ? "`" : "\"";
1397+
return isMySQL() || isMariaDB() || isTiDB() || isClickHouse() || isTDengine() || isMilvus() || isDoris() ? "`" : "\"";
13881398
}
13891399

13901400
public String quote(String s) {

APIJSONORM/src/main/java/apijson/orm/SQLConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public interface SQLConfig<T, M extends Map<String, Object>, L extends List<Obje
3333
String DATABASE_HIVE = "HIVE"; // https://hive.apache.org
3434
String DATABASE_PRESTO = "PRESTO"; // Facebook PrestoDB https://prestodb.io
3535
String DATABASE_TRINO = "TRINO"; // PrestoSQL https://trino.io
36+
String DATABASE_DORIS = "DORIS"; // https://doris.apache.org
3637
String DATABASE_SNOWFLAKE = "SNOWFLAKE"; // https://www.snowflake.com
3738
String DATABASE_DATABRICKS = "DATABRICKS"; // https://www.databricks.com
3839
String DATABASE_CASSANDRA = "CASSANDRA"; // https://cassandra.apache.org
@@ -115,6 +116,7 @@ public interface SQLConfig<T, M extends Map<String, Object>, L extends List<Obje
115116
boolean isDuckDB();
116117
boolean isSurrealDB();
117118
boolean isOpenGauss();
119+
boolean isDoris();
118120

119121

120122
// 暂时只兼容以上几种

APIJSONORM/src/main/java/apijson/orm/exception/CommonException.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,9 @@ else if (config.isPresto()) {
247247
else if (config.isTrino()) {
248248
db = SQLConfig.DATABASE_TRINO + " " + dbVersion;
249249
}
250+
else if (config.isDoris()) {
251+
db = SQLConfig.DATABASE_DORIS + " " + dbVersion;
252+
}
250253
else if (config.isSnowflake()) {
251254
db = SQLConfig.DATABASE_SNOWFLAKE + " " + dbVersion;
252255
}

0 commit comments

Comments
 (0)