druidry icon indicating copy to clipboard operation
druidry copied to clipboard

How to add offset value in DefaultLimitSpec using groupby query ?

Open bhavukgirdhar opened this issue 3 years ago • 1 comments

bhavukgirdhar avatar Sep 21 '21 09:09 bhavukgirdhar

I know that it may feel a little bit hacky, but while waiting for the next release you can override DefaultLimitSpec in your code. Just create a package with the same name in.zapr.druid.druidry.limitSpec and class DefaultLimitSpec with type field added. Something like that:

@Getter
@EqualsAndHashCode
public class DefaultLimitSpec {
    private static final String DEFAULT_LIMIT_SPEC_TYPE = "default";

    private String type;
    private int limit;
    private int offset;
    private List<OrderByColumnSpec> columns;

    public DefaultLimitSpec(int limit, @NonNull List<OrderByColumnSpec> columns) {
        this(limit, 0, columns);
    }

    public DefaultLimitSpec(int limit, int offset, @NonNull List<OrderByColumnSpec> columns) {
        this.type = DEFAULT_LIMIT_SPEC_TYPE;
        this.limit = limit;
        this.offset = offset;
        this.columns = columns;
    }
}

You can replace lombok annotations with base java methods.

szymeker avatar Sep 26 '21 16:09 szymeker