Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Multi column cursor #4

@ombr

Description

@ombr

Hi,

With a big database, I am using multiple column ordered indexes in order to return item in order. but the limit/offset is not the best thing to do.

I am interested in generating a cursor from multiple columns like this:

  def self.after(cursor = nil)
    query = reorder('created_at DESC, public_id DESC')
    if cursor.present?
      return query.where(
        'cursors.created_at < ? or (cursors.created_at = ? and cursors.public_id < ?)',
        cursor.created_at,
        cursor.created_at,
        cursor.public_id
      )
    end
    query
  end

Do you have plans to do something like this ? I could help.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions