maz
I have a query containing a relatively complicated join and there are 85 items total.
Strangely, after sending the second after cursor no more items return(Paginator never returns more than 60 items).
This is the query:
defp list_media_items_by_channel_slug_query(channel_slug, :feed) do
from(m in MediaItem,
join: con in ContentMediaItems,
on: m.id == con.media_item_id,
join: chan in assoc(con, :channel),
where: chan.slug == ^channel_slug,
preload: [:mediaitemartifacts],
order_by: [{:desc, :inserted_at}]
)
end
Called like:
%{entries: entries, metadata: metadata} =
Repo.paginate(
query,
include_total_count: true,
after: after_cursor,
sort_direction: sort_direction,
cursor_fields: cursor_fields,
limit: 30
)
The first cursor returns another 30, but the second cursor returns nothing, but when I get the full list there are 85 items(so the cursor should return 25, but actually returns 0).
Repo.all(query) # returns 85
I’m baffled. The 25 items are there but I don’t get them returned?
Elixir 1.16.1 (compiled with Erlang/OTP 26)
ecto 3.11.2
paginator, 1.1.0
Trending in Questions
I’m aware of 2 such projects, are there others?
git: GitHub - team-alembic/realworld: A fullstack Phoenix LiveView application with back...
New
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
Hi everyone.
My team and I have been working on a fairly modest app based around video streaming and chat, but we’ve landed a customer t...
New
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
Hello folks!
So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
How Can I Optimise Compile Time Dependencies
I have been building an elixir application for about 2 years now. Many modules and files ha...
New
Other Trending Topics
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with.
But I don’t use it anymore.
Serverless was the promis...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #ai
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #blog-post
- #elixirconf-us
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #metaprogramming










Showing Posts 1 to 4- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
al2o3cr
What values are being passed here? What SQL gets executed?
The described symptom makes me suspect that something is misaligned, so that the “next” page isn’t using the right query.
maz
It looks like this:
maz
So if I sort by title I don’t see the same problem. Is it possible that if there are inserted_at dates that are identical/very similar the cursor can start to fail?
maz
I found a fix, and you led me down the trail, thanks.
cursor_fields: [:inserted_at, :title],If I use these two columns, it gives the paginator enough to work with and I receive the correct result sets. I think a lot of the inserted_at dates are too similar.