Skip to content

Commit 138205c

Browse files
committed
新增支持 DuckDB-高性能多文件格式 OLAP 数据库
1 parent 07b4ace commit 138205c

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@ public abstract class AbstractSQLConfig<T extends Object> implements SQLConfig<T
224224
DATABASE_LIST.add(DATABASE_CASSANDRA);
225225
DATABASE_LIST.add(DATABASE_KAFKA);
226226
DATABASE_LIST.add(DATABASE_MQ);
227+
DATABASE_LIST.add(DATABASE_DUCKDB);
227228

228229

229230
RAW_MAP = new LinkedHashMap<>(); // 保证顺序,避免配置冲突等意外情况
@@ -1332,6 +1333,14 @@ public static boolean isSQLite(String db) {
13321333
return DATABASE_SQLITE.equals(db);
13331334
}
13341335

1336+
@Override
1337+
public boolean isDuckDB() {
1338+
return isDuckDB(getSQLDatabase());
1339+
}
1340+
public static boolean isDuckDB(String db) {
1341+
return DATABASE_DUCKDB.equals(db);
1342+
}
1343+
13351344
@Override
13361345
public String getQuote() { // MongoDB 同时支持 `tbl` 反引号 和 "col" 双引号
13371346
if(isElasticsearch() || isIoTDB()) {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public interface SQLConfig<T extends Object> {
4343
String DATABASE_MONGODB = "MONGODB"; // https://www.mongodb.com/docs/atlas/data-federation/query/query-with-sql
4444
String DATABASE_KAFKA = "KAFKA"; // https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONDemo-MultiDataSource-Kafka
4545
String DATABASE_SQLITE = "SQLITE"; // https://www.sqlite.org
46+
String DATABASE_DUCKDB = "DUCKDB"; // https://duckdb.org
4647

4748
String DATABASE_MQ = "MQ"; //
4849

@@ -97,6 +98,7 @@ public interface SQLConfig<T extends Object> {
9798
boolean isKafka();
9899
boolean isMQ();
99100
boolean isSQLite();
101+
boolean isDuckDB();
100102

101103

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

0 commit comments

Comments
 (0)