@@ -195,6 +195,7 @@ public abstract class AbstractSQLConfig<T extends Object> implements SQLConfig<T
195
195
DATABASE_LIST .add (DATABASE_HIVE );
196
196
DATABASE_LIST .add (DATABASE_PRESTO );
197
197
DATABASE_LIST .add (DATABASE_TRINO );
198
+ DATABASE_LIST .add (DATABASE_MILVUS );
198
199
DATABASE_LIST .add (DATABASE_INFLUXDB );
199
200
DATABASE_LIST .add (DATABASE_TDENGINE );
200
201
DATABASE_LIST .add (DATABASE_REDIS );
@@ -1191,6 +1192,14 @@ public static boolean isPresto(String db) {
1191
1192
return DATABASE_PRESTO .equals (db );
1192
1193
}
1193
1194
1195
+ @ Override
1196
+ public boolean isTrino () {
1197
+ return isTrino (getSQLDatabase ());
1198
+ }
1199
+ public static boolean isTrino (String db ) {
1200
+ return DATABASE_TRINO .equals (db );
1201
+ }
1202
+
1194
1203
@ Override
1195
1204
public boolean isSnowflake () {
1196
1205
return isSnowflake (getSQLDatabase ());
@@ -1216,11 +1225,11 @@ public static boolean isCassandra(String db) {
1216
1225
}
1217
1226
1218
1227
@ Override
1219
- public boolean isTrino () {
1220
- return isTrino (getSQLDatabase ());
1228
+ public boolean isMilvus () {
1229
+ return isMilvus (getSQLDatabase ());
1221
1230
}
1222
- public static boolean isTrino (String db ) {
1223
- return DATABASE_TRINO .equals (db );
1231
+ public static boolean isMilvus (String db ) {
1232
+ return DATABASE_MILVUS .equals (db );
1224
1233
}
1225
1234
1226
1235
@ Override
@@ -1268,15 +1277,15 @@ public boolean isMQ() {
1268
1277
return isMQ (getSQLDatabase ());
1269
1278
}
1270
1279
public static boolean isMQ (String db ) {
1271
- return isKafka (db );
1280
+ return DATABASE_MQ . equals ( db ) || isKafka (db );
1272
1281
}
1273
1282
1274
1283
@ Override
1275
1284
public String getQuote () {
1276
1285
if (isElasticsearch ()) {
1277
1286
return "" ;
1278
1287
}
1279
- return isMySQL () || isMariaDB () || isTiDB () || isClickHouse () || isTDengine () ? "`" : "\" " ;
1288
+ return isMySQL () || isMariaDB () || isTiDB () || isClickHouse () || isTDengine () || isMilvus () ? "`" : "\" " ;
1280
1289
}
1281
1290
1282
1291
public String quote (String s ) {
@@ -1290,6 +1299,7 @@ public String getSchema() {
1290
1299
}
1291
1300
1292
1301
@ NotNull
1302
+ @ Override
1293
1303
public String getSQLSchema () {
1294
1304
String table = getTable ();
1295
1305
//强制,避免因为全局默认的 @schema 自动填充进来,导致这几个类的 schema 为 sys 等其它值
@@ -2596,9 +2606,22 @@ public static int getOffset(int page, int count) {
2596
2606
*/
2597
2607
@ JSONField (serialize = false )
2598
2608
public String getLimitString () {
2599
- if (count <= 0 || RequestMethod .isHeadMethod (getMethod (), true )) {
2609
+ int count = getCount ();
2610
+
2611
+ if (isMilvus ()) {
2612
+ if (count == 0 ) {
2613
+ Parser <T > parser = getParser ();
2614
+ count = parser == null ? AbstractParser .MAX_QUERY_COUNT : parser .getMaxQueryCount ();
2615
+ }
2616
+
2617
+ int offset = getOffset (getPage (), count );
2618
+ return " LIMIT " + offset + ", " + count ; // 目前 moql-transx 的限制
2619
+ }
2620
+
2621
+ if (count <= 0 || RequestMethod .isHeadMethod (getMethod (), true )) { // TODO HEAD 真的不需要 LIMIT ?
2600
2622
return "" ;
2601
2623
}
2624
+
2602
2625
return getLimitString (
2603
2626
getPage ()
2604
2627
, getCount ()
0 commit comments