Merge branch 'master' of github.com:redisson/redisson

pull/6137/head
Nikita Koksharov 6 months ago
commit aaf46e02b2

@ -476,6 +476,9 @@ public class RedissonSearch implements RSearch {
if (options.getSortOrder() != null) { if (options.getSortOrder() != null) {
args.add(options.getSortOrder()); args.add(options.getSortOrder());
} }
if (options.isWithCount()) {
args.add("WITHCOUNT");
}
} }
if (options.getOffset() != null if (options.getOffset() != null
&& options.getCount() != null) { && options.getCount() != null) {
@ -588,6 +591,9 @@ public class RedissonSearch implements RSearch {
args.add("MAX"); args.add("MAX");
args.add(options.getSortedByMax()); args.add(options.getSortedByMax());
} }
if (options.isSortedByWithCount()) {
args.add("WITHCOUNT");
}
} }
for (Expression expression : options.getExpressions()) { for (Expression expression : options.getExpressions()) {
args.add("APPLY"); args.add("APPLY");

@ -35,6 +35,7 @@ public final class AggregationOptions {
private List<GroupParams> groupByParams = Collections.emptyList(); private List<GroupParams> groupByParams = Collections.emptyList();
private List<SortedField> sortedByFields = Collections.emptyList(); private List<SortedField> sortedByFields = Collections.emptyList();
private Integer sortedByMax; private Integer sortedByMax;
private boolean sortedByWithCount;
private List<Expression> expressions = Collections.emptyList(); private List<Expression> expressions = Collections.emptyList();
private Integer offset; private Integer offset;
private Integer count; private Integer count;
@ -88,6 +89,19 @@ public final class AggregationOptions {
return this; return this;
} }
public AggregationOptions sortBy(boolean withCount, SortedField... fields) {
sortedByWithCount = withCount;
sortedByFields = Arrays.asList(fields);
return this;
}
public AggregationOptions sortBy(int max, boolean withCount, SortedField... fields) {
sortedByMax = max;
sortedByWithCount = withCount;
sortedByFields = Arrays.asList(fields);
return this;
}
public AggregationOptions apply(Expression... expressions) { public AggregationOptions apply(Expression... expressions) {
this.expressions = Arrays.asList(expressions); this.expressions = Arrays.asList(expressions);
return this; return this;
@ -160,6 +174,10 @@ public final class AggregationOptions {
return sortedByMax; return sortedByMax;
} }
public boolean isSortedByWithCount() {
return sortedByWithCount;
}
public List<Expression> getExpressions() { public List<Expression> getExpressions() {
return expressions; return expressions;
} }

@ -44,6 +44,7 @@ public final class QueryOptions {
private boolean explainScore; private boolean explainScore;
private String sortBy; private String sortBy;
private SortOrder sortOrder; private SortOrder sortOrder;
private boolean withCount;
private Integer offset; private Integer offset;
private Integer count; private Integer count;
private Map<String, Object> params = Collections.emptyMap(); private Map<String, Object> params = Collections.emptyMap();
@ -137,6 +138,11 @@ public final class QueryOptions {
return this; return this;
} }
public QueryOptions withCount(boolean withCount) {
this.withCount = withCount;
return this;
}
public QueryOptions limit(int offset, int count) { public QueryOptions limit(int offset, int count) {
this.offset = offset; this.offset = offset;
this.count = count; this.count = count;
@ -234,6 +240,10 @@ public final class QueryOptions {
return sortBy; return sortBy;
} }
public boolean isWithCount() {
return withCount;
}
public Integer getOffset() { public Integer getOffset() {
return offset; return offset;
} }

Loading…
Cancel
Save