• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

GollumSF / rest-bundle / 33255798331
100%
master: 100%

Build:
Build:
LAST BUILD BRANCH: v4.2.1
DEFAULT BRANCH: master
Ran 29 Aug 2026 01:46PM UTC
Jobs 1
Files 74
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Aug 2026 01:41PM UTC coverage: 100.0%. Remained the same
33255798331

push

github

Smeagolworms4
Count and paginate correctly across a to-many join

Joining a to-many relation multiplies the SQL rows, which showed up twice.

The total counted rows instead of entities: on the test fixtures, 40 authors joined to
their books were counted 56 as soon as a query callback joined the collection. The count
is now taken DISTINCT.

The limit applied to those multiplied rows, so a page came back short: asking for 5
authors ordered by id returned 4, and whether it happened depended on where the duplicate
rows fell in the window. A path crossing a collection is now ordered on an aggregate of
the joined column, MIN ascending and MAX descending, grouped by the identifier of the root
entity, which removes the fan-out altogether.

Doctrine's Paginator would have fixed both, but it rewrites the query into subqueries and
falls over on a query callback that already grouped or made the query distinct. Adding an
aggregate only ever adds to the query builder, so existing callbacks keep working, and it
still takes two queries.

Ordering on a plain column or across a to-one relation is untouched.

31 of 31 new or added lines in 1 file covered. (100.0%)

1053 of 1053 relevant lines covered (100.0%)

30.38 hits per line

Jobs
ID Job ID Ran Files Coverage
1 33255798331.1 29 Aug 2026 01:46PM UTC 74
100.0
GitHub Action Run
Source Files on build 33255798331
  • Tree
  • List 74
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • db85b30c on github
  • Prev Build on master (#33254097928)
  • Next Build on v4.2.1 (#33255798291)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc