Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 1f2d304

Browse files
committed
新增支持 Apache/IoTDB - 一体化收集、存储、管理与分析物联网时序数据的软件系统;完善 AI 向量数据库 Milvus 的 SQL 函数注册;升级版本支 7.2.0
1 parent 70f65fe commit 1f2d304

File tree

4 files changed

+33
-6
lines changed

4 files changed

+33
-6
lines changed

APIJSONORM/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>com.github.Tencent</groupId>
77
<artifactId>APIJSON</artifactId>
8-
<version>7.1.0</version>
8+
<version>7.2.0</version>
99
<packaging>jar</packaging>
1010

1111
<name>APIJSONORM</name>

APIJSONORM/src/main/java/apijson/Log.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class Log {
1414

1515
public static boolean DEBUG = true;
1616

17-
public static final String VERSION = "7.1.0";
17+
public static final String VERSION = "7.2.0";
1818
public static final String KEY_SYSTEM_INFO_DIVIDER = "\n---|-----APIJSON SYSTEM INFO-----|---\n";
1919

2020
public static final String OS_NAME;

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

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ public abstract class AbstractSQLConfig<T extends Object> implements SQLConfig<T
216216
DATABASE_LIST.add(DATABASE_MILVUS);
217217
DATABASE_LIST.add(DATABASE_INFLUXDB);
218218
DATABASE_LIST.add(DATABASE_TDENGINE);
219+
DATABASE_LIST.add(DATABASE_IOTDB);
219220
DATABASE_LIST.add(DATABASE_SNOWFLAKE);
220221
DATABASE_LIST.add(DATABASE_DATABRICKS);
221222
DATABASE_LIST.add(DATABASE_REDIS);
@@ -224,6 +225,7 @@ public abstract class AbstractSQLConfig<T extends Object> implements SQLConfig<T
224225
DATABASE_LIST.add(DATABASE_KAFKA);
225226
DATABASE_LIST.add(DATABASE_MQ);
226227

228+
227229
RAW_MAP = new LinkedHashMap<>(); // 保证顺序,避免配置冲突等意外情况
228230

229231
RAW_MAP.put("+", "");
@@ -820,6 +822,18 @@ public abstract class AbstractSQLConfig<T extends Object> implements SQLConfig<T
820822
SQL_FUNCTION_MAP.put("len", "");
821823
SQL_FUNCTION_MAP.put("datalength", "");
822824

825+
// Milvus 相关 SQL 函数
826+
SQL_FUNCTION_MAP.put("vMatch", "");
827+
SQL_FUNCTION_MAP.put("consistencyLevel", "");
828+
SQL_FUNCTION_MAP.put("partitionBy", "");
829+
SQL_FUNCTION_MAP.put("gracefulTime", "");
830+
SQL_FUNCTION_MAP.put("guaranteeTimestamp", "");
831+
SQL_FUNCTION_MAP.put("roundDecimal", "");
832+
SQL_FUNCTION_MAP.put("travelTimestamp", "");
833+
SQL_FUNCTION_MAP.put("nProbe", "");
834+
SQL_FUNCTION_MAP.put("ef", "");
835+
SQL_FUNCTION_MAP.put("searchK", "");
836+
823837
}
824838

825839
private Parser<T> parser;
@@ -1011,7 +1025,7 @@ public AbstractSQLConfig setMethod(RequestMethod method) {
10111025
}
10121026
@Override
10131027
public boolean isPrepared() {
1014-
return prepared;
1028+
return prepared && ! isMongoDB(); // MongoDB JDBC 还不支持预编译;
10151029
}
10161030
@Override
10171031
public AbstractSQLConfig setPrepared(boolean prepared) {
@@ -1269,6 +1283,15 @@ public static boolean isTDengine(String db) {
12691283
return DATABASE_TDENGINE.equals(db);
12701284
}
12711285

1286+
1287+
public boolean isIoTDB() {
1288+
return isIoTDB(getDatabase());
1289+
}
1290+
public static boolean isIoTDB(String db) {
1291+
return DATABASE_IOTDB.equals(db);
1292+
}
1293+
1294+
12721295
@Override
12731296
public boolean isRedis() {
12741297
return isRedis(getSQLDatabase());
@@ -1310,8 +1333,8 @@ public static boolean isSQLite(String db) {
13101333
}
13111334

13121335
@Override
1313-
public String getQuote() {
1314-
if(isElasticsearch()) {
1336+
public String getQuote() { // MongoDB 同时支持 `tbl` 反引号 和 "col" 双引号
1337+
if(isElasticsearch() || isIoTDB()) {
13151338
return "";
13161339
}
13171340
return isMySQL() || isMariaDB() || isTiDB() || isClickHouse() || isTDengine() || isMilvus() ? "`" : "\"";

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,15 @@ public interface SQLConfig<T extends Object> {
3737
String DATABASE_MILVUS = "MILVUS"; // https://milvus.io
3838
String DATABASE_INFLUXDB = "INFLUXDB"; // https://www.influxdata.com/products/influxdb-overview
3939
String DATABASE_TDENGINE = "TDENGINE"; // https://tdengine.com
40+
String DATABASE_IOTDB = "IOTDB"; // https://iotdb.apache.org/zh/UserGuide/latest/API/Programming-JDBC.html
41+
4042
String DATABASE_REDIS = "REDIS"; // https://redisql.com
4143
String DATABASE_MONGODB = "MONGODB"; // https://www.mongodb.com/docs/atlas/data-federation/query/query-with-sql
4244
String DATABASE_KAFKA = "KAFKA"; // https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONDemo-MultiDataSource-Kafka
43-
String DATABASE_MQ = "MQ"; //
4445
String DATABASE_SQLITE = "SQLITE"; // https://www.sqlite.org
4546

47+
String DATABASE_MQ = "MQ"; //
48+
4649
String SCHEMA_INFORMATION = "information_schema"; //MySQL, PostgreSQL, SQL Server 都有的系统模式
4750
String SCHEMA_SYS = "sys"; //SQL Server 系统模式
4851
String TABLE_SCHEMA = "table_schema";
@@ -88,6 +91,7 @@ public interface SQLConfig<T extends Object> {
8891
boolean isMilvus();
8992
boolean isInfluxDB();
9093
boolean isTDengine();
94+
boolean isIoTDB();
9195
boolean isRedis();
9296
boolean isMongoDB();
9397
boolean isKafka();

0 commit comments

Comments
 (0)