absinthe-graphql/absinthe_relay

Overriding cursor throws warning

AtithAlur opened this issue · 2 comments

As per the documentation - https://hexdocs.pm/absinthe_relay/Absinthe.Relay.Connection.html
If we provide a :cursor argument then the value should override the internally generated cursor.
But, It's throwing a warning: [warn] Ignoring additional cursor provided on edge (overriding is not allowed)
And the warning is as per the code:

{key, _} when key in [:cursor, :node] ->

Is this an outdated document or am I doing it wrong?

Looks like the possibility of overriding the default cursor was removed after a discussion: #109 (comment)

So perhaps outdated module doc.

I think there are some strong arguments for why we should have the ability to override cursors. Here is why:

  1. We could be interfacing with external services that use their own cursors. (This issue has already been raised at #161)
  2. Currently the cursors in this package just encode the OFFSET and OFFSET + LIMIT. But we may not want to use OFFSET in our SQL queries because it results in slow performance.

I personally have a project involving both of the above issues. Is there a current workaround for overriding cursors?