[ https://issues.apache.org/jira/browse/PHOENIX-2722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15213912#comment-15213912 ]
ASF GitHub Bot commented on PHOENIX-2722: ----------------------------------------- Github user ankitsinghal commented on a diff in the pull request: https://github.com/apache/phoenix/pull/154#discussion_r57551094 --- Diff: phoenix-core/src/main/java/org/apache/phoenix/compile/SubselectRewriter.java --- @@ -202,14 +204,30 @@ private SelectStatement flatten(SelectStatement select, SelectStatement subselec } } } - + OffsetNode offset = select.getOffset(); + if (offset != null) { + if (offsetRewrite == null) { + offsetRewrite = offset; + } else { + Integer offsetValue = OffsetCompiler.compile(null, select); + Integer offsetValueSubselect = OffsetCompiler.compile(null, subselect); + if (offsetValue != null && offsetValueSubselect != null) { + offsetRewrite = offsetValue < offsetValueSubselect ? offset : offsetRewrite; + } else { + return select; + } + } + } + --- End diff -- Thanks for pointing out. I thought a little and have updated the logic to if (offsetRewrite != null || (limitRewrite != null & offset != null)) { return select; } else { offsetRewrite = offset; } Let me know if any optimization is possible. > support mysql "limit,offset" clauses > ------------------------------------- > > Key: PHOENIX-2722 > URL: https://issues.apache.org/jira/browse/PHOENIX-2722 > Project: Phoenix > Issue Type: New Feature > Reporter: Ankit Singhal > Assignee: Ankit Singhal > Priority: Minor > Attachments: PHOENIX-2722.patch, PHOENIX-2722_formatted.patch > > > For serial query(query with “serial" hint or “limit" without "order by”), we > can limit each scan(using page filter) to “limit+offset” instead of limit > earlier. > And then, for all queries, we can forward the relevant client iterators to > the offset provided and then return the result. > syntax > {code} > [ LIMIT { count } ] > [ OFFSET start [ ROW | ROWS ] ] > [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ] > {code} > Some new keywords(OFFSET,FETCH,ROW, ROWS,ONLY) are getting introduced so > users might need to see that they are not using them as column name or > something. > WDYT, [~jamestaylor] -- This message was sent by Atlassian JIRA (v6.3.4#6332)