Browse Source

Complex predicate fix

pull/3246/head
Andrii Shvaika 6 years ago
parent
commit
b0102f523f
  1. 6
      dao/src/main/java/org/thingsboard/server/dao/sql/query/EntityKeyMapping.java

6
dao/src/main/java/org/thingsboard/server/dao/sql/query/EntityKeyMapping.java

@ -426,11 +426,15 @@ public class EntityKeyMapping {
private String buildComplexPredicateQuery(QueryContext ctx, String alias, EntityKey key, private String buildComplexPredicateQuery(QueryContext ctx, String alias, EntityKey key,
ComplexFilterPredicate predicate, EntityFilterType filterType) { ComplexFilterPredicate predicate, EntityFilterType filterType) {
return predicate.getPredicates().stream() String result = predicate.getPredicates().stream()
.map(keyFilterPredicate -> this.buildPredicateQuery(ctx, alias, key, keyFilterPredicate, filterType)) .map(keyFilterPredicate -> this.buildPredicateQuery(ctx, alias, key, keyFilterPredicate, filterType))
.filter(Objects::nonNull).collect(Collectors.joining( .filter(Objects::nonNull).collect(Collectors.joining(
" " + predicate.getOperation().name() + " " " " + predicate.getOperation().name() + " "
)); ));
if (!result.trim().isEmpty()) {
result = "( " + result + " )";
}
return result;
} }
private String buildSimplePredicateQuery(QueryContext ctx, String alias, EntityKey key, private String buildSimplePredicateQuery(QueryContext ctx, String alias, EntityKey key,

Loading…
Cancel
Save