Method: Alf::Sql::Compiler#on_page
- Defined in:
- lib/alf/sql/compiler.rb
#on_page(plan, expr, compiled) ⇒ Object
80 81 82 83 84 85 86 87 88 |
# File 'lib/alf/sql/compiler.rb', line 80 def on_page(plan, expr, compiled) index, size = expr.page_index, expr.page_size compiled = plan.recompile(compiled){|p| ordering = expr.total_ordering ordering = ordering.reverse if index < 0 p.sort(expr.operand, ordering) } rewrite(plan, expr, compiled, Processor::LimitOffset, [size, (index.abs - 1) * size]) end |