diff options
Diffstat (limited to 'lib/gitlab/pagination/keyset/iterator.rb')
-rw-r--r-- | lib/gitlab/pagination/keyset/iterator.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/gitlab/pagination/keyset/iterator.rb b/lib/gitlab/pagination/keyset/iterator.rb index 3bc8c0bf616..c6f0014a0f4 100644 --- a/lib/gitlab/pagination/keyset/iterator.rb +++ b/lib/gitlab/pagination/keyset/iterator.rb @@ -4,8 +4,12 @@ module Gitlab module Pagination module Keyset class Iterator - def initialize(scope:, use_union_optimization: false) - @scope = scope + UnsupportedScopeOrder = Class.new(StandardError) + + def initialize(scope:, use_union_optimization: true) + @scope, success = Gitlab::Pagination::Keyset::SimpleOrderBuilder.build(scope) + raise(UnsupportedScopeOrder, 'The order on the scope does not support keyset pagination') unless success + @order = Gitlab::Pagination::Keyset::Order.extract_keyset_order_object(scope) @use_union_optimization = use_union_optimization end |