zapr-oss / druidry

Java based Druid Query Generator library
Apache License 2.0
193 stars 86 forks source link

How to add offset value in DefaultLimitSpec using groupby query ? #172

Open bhavukgirdhar opened 2 years ago

szymeker commented 2 years ago

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.