Skip to content

Commit 3a73d7d

Browse files
authored
Merge pull request #309 from qiujunlin/master
update clickhouse delete and update support
2 parents 421d30d + e2cfc82 commit 3a73d7d

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

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

+10-4
Original file line numberDiff line numberDiff line change
@@ -2587,7 +2587,7 @@ public String getSetString(RequestMethod method, Map<String, Object> content, bo
25872587
if (setString.isEmpty()) {
25882588
throw new IllegalArgumentException("PUT 请求必须在Table内设置要修改的 key:value !");
25892589
}
2590-
return " SET " + setString;
2590+
return (isClickHouse()?" ":" SET ") + setString;
25912591
}
25922592

25932593
/**SET key = concat(key, 'value')
@@ -2665,9 +2665,15 @@ public static String getSQL(AbstractSQLConfig config) throws Exception {
26652665
case POST:
26662666
return "INSERT INTO " + tablePath + config.getColumnString() + " VALUES" + config.getValuesString();
26672667
case PUT:
2668-
return "UPDATE " + tablePath + config.getSetString() + config.getWhereString(true) + (config.isMySQL()||config.isClickHouse() ? config.getLimitString() : "");
2668+
if(config.isClickHouse()){
2669+
return "ALTER TABLE " + tablePath + " UPDATE"+ config.getSetString()+ config.getWhereString(true);
2670+
}
2671+
return "UPDATE " + tablePath + config.getSetString() + config.getWhereString(true) + (config.isMySQL() ? config.getLimitString() : "");
26692672
case DELETE:
2670-
return "DELETE FROM " + tablePath + config.getWhereString(true) + (config.isMySQL()||config.isClickHouse() ? config.getLimitString() : ""); // PostgreSQL 不允许 LIMIT
2673+
if(config.isClickHouse()){
2674+
return "ALTER TABLE " + tablePath + " DELETE" + config.getWhereString(true);
2675+
}
2676+
return "DELETE FROM " + tablePath + config.getWhereString(true) + (config.isMySQL() ? config.getLimitString() : ""); // PostgreSQL 不允许 LIMIT
26712677
default:
26722678
String explain = (config.isExplain() ? (config.isSQLServer() || config.isOracle() ? "SET STATISTICS PROFILE ON " : "EXPLAIN ") : "");
26732679
if (config.isTest() && RequestMethod.isGetMethod(config.getMethod(), true)) {
@@ -2679,7 +2685,7 @@ public static String getSQL(AbstractSQLConfig config) throws Exception {
26792685
String column = config.getColumnString();
26802686
if (config.isOracle()) {
26812687
//When config's database is oracle,Using subquery since Oracle12 below does not support OFFSET FETCH paging syntax.
2682-
return explain + "SELECT * FROM (SELECT"+ (config.getCache() == JSONRequest.CACHE_RAM ? "SQL_NO_CACHE " : "") + column + " FROM " + getConditionString(column, tablePath, config) + ") " + config.getLimitString();
2688+
return explain + "SELECT * FROM (SELECT "+ (config.getCache() == JSONRequest.CACHE_RAM ? "SQL_NO_CACHE " : "") + column + " FROM " + getConditionString(column, tablePath, config) + ") " + config.getLimitString();
26832689
}
26842690

26852691
return explain + "SELECT " + (config.getCache() == JSONRequest.CACHE_RAM ? "SQL_NO_CACHE " : "") + column + " FROM " + getConditionString(column, tablePath, config) + config.getLimitString();

0 commit comments

Comments
 (0)