Skip to content

Commit

Permalink
Reduce code duplication
Browse files Browse the repository at this point in the history
  • Loading branch information
YangYumings committed Oct 16, 2024
1 parent a15d1b1 commit a0b85ac
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,20 @@ public abstract void sessionCleanupImpl(Session session)

public abstract String addWhereValueClauseIfNecessary(List<DeviceSchema> devices, String prefix);

protected String getAggFunForGroupByQuery(List<Sensor> querySensors, String aggFunction) {
StringBuilder builder = new StringBuilder();
builder.append(aggFunction).append("(").append(querySensors.get(0).getName()).append(")");
for (int i = 1; i < querySensors.size(); i++) {
builder
.append(", ")
.append(aggFunction)
.append("(")
.append(querySensors.get(i).getName())
.append(")");
}
return builder.toString();
}

// endregion

public abstract Logger getLogger();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,8 @@ public void sessionCleanupImpl(Session session)
* eg. SELECT data_bin(20000ms, time), count(s_1), count(s_3), count(s_4) FROM test_g_0.table_0
* WHERE time >= 1640966400000 AND time < 1640966650000 AND (device_id='d_0' OR device_id='d_3')
* group by time
*
* <p>getAggForGroupByQuery
*/
@Override
public String getGroupByQuerySQL(GroupByQuery groupByQuery) {
Expand All @@ -375,21 +377,10 @@ public String getGroupByQuerySQL(GroupByQuery groupByQuery) {
.append("data_bin(")
.append(groupByQuery.getGranularity())
.append("ms, ")
.append("time), ");
List<Sensor> querySensors = groupByQuery.getDeviceSchema().get(0).getSensors();
builder
.append(groupByQuery.getAggFun())
.append("(")
.append(querySensors.get(0).getName())
.append(")");
for (int i = 1; i < querySensors.size(); i++) {
builder
.append(", ")
.append(groupByQuery.getAggFun())
.append("(")
.append(querySensors.get(i).getName())
.append(")");
}
.append("time), ")
.append(
getAggFunForGroupByQuery(
groupByQuery.getDeviceSchema().get(0).getSensors(), groupByQuery.getAggFun()));
// FROM
String sql = addFromClause(groupByQuery.getDeviceSchema(), builder);
// WHERE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -360,21 +360,11 @@ public void sessionCleanupImpl(Session session) {
public String getGroupByQuerySQL(GroupByQuery groupByQuery) {
StringBuilder builder = new StringBuilder();
// SELECT
builder.append("SELECT ");
List<Sensor> querySensors = groupByQuery.getDeviceSchema().get(0).getSensors();
builder
.append(groupByQuery.getAggFun())
.append("(")
.append(querySensors.get(0).getName())
.append(")");
for (int i = 1; i < querySensors.size(); i++) {
builder
.append(", ")
.append(groupByQuery.getAggFun())
.append("(")
.append(querySensors.get(i).getName())
.append(")");
}
.append("SELECT ")
.append(
getAggFunForGroupByQuery(
groupByQuery.getDeviceSchema().get(0).getSensors(), groupByQuery.getAggFun()));
// FROM
String sql = addFromClause(groupByQuery.getDeviceSchema(), builder);
// GROUP BY
Expand Down

0 comments on commit a0b85ac

Please sign in to comment.