Jiarong Wei created CALCITE-1429: ------------------------------------ Summary: Error of deciding pagingIdentifiers in select query for Druid Key: CALCITE-1429 URL: https://issues.apache.org/jira/browse/CALCITE-1429 Project: Calcite Issue Type: Bug Components: druid Reporter: Jiarong Wei Assignee: Julian Hyde
As mentioned in [Druid documentation|http://druid.io/docs/0.9.1.1/querying/select-query.html], {quote} Note that in the second query, an offset is specified and that it is 1 greater than the largest offset found in the initial results. To return the next "page", this offset must be incremented by 1 (should be decremented by 1 for descending query), with each new query, but with option {{fromNext}} enabled, this operation is not needed. When an empty results set is received, the very last page has been returned. {quote} I think Druid adapter [presumes|https://github.com/apache/calcite/blob/master/druid/src/main/java/org/apache/calcite/adapter/druid/DruidQuery.java#L935] this feature is turned on but it's not set in [code|https://github.com/apache/calcite/blob/master/druid/src/main/java/org/apache/calcite/adapter/druid/DruidQuery.java#L627]. Also, {{previousOffset}} may not be reasonable, see [DruidQuery|https://github.com/apache/calcite/blob/master/druid/src/main/java/org/apache/calcite/adapter/druid/DruidQuery.java#L940]. I think whether we have already fetched all data is decided by the next request. If we don't have any data returned on next request, that means fetching is done. -- This message was sent by Atlassian JIRA (v6.3.4#6332)