chore: close the aggregate-pagination project - #30100
Conversation
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (23)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Closes the aggregate-pagination project and removes its working artifacts. Documentation-only — no source, no tests, no behaviour.
This must merge after #30098. That PR lands the project's retro learnings into
drive/calibration/dod.mdand the upgrade-instructions skill. This project produced no long-lived documentation to migrate — the one guide it wrote was deleted on review — so the learnings are its only durable output. Merging this first deletes them.What the project delivered
.aggregate()silently ignoredtake/skip/cursor/distinct/distinctOn, reducing over every matching row and returning a confident, wrong number with no signal.groupBy()had the same defect for everything chained before it. Both are fixed, with clause position deciding meaning: before a terminal, clauses shape the rows it reduces; aftergroupBy(), they page the groups.aggregate()honours the whole chaingroupBy()carries the chain before it;GroupedCollectiongainedtake/skip/orderByto page groups, with post-group pagination requiring a priororderByat the type levelDefinition of Done
All items met, with one closed as deliberately refused:
aggregate()honourstake/skip/cursorincluding bareskip, anddistinct()/distinctOn()✅having()present ✅orderByin the type state ✅test/aggregate-pagination.test.tsfree ofit.fails✅v8.0.0-rc.5.mdcarry the user-facing notice.Spun out, not dropped
#30099 fixes enum
ORDER BY/DISTINCT ONlosing declaration order behind any derived table. Manual QA found it through the grouped path, but it is pre-existing and wider —.distinct().orderBy(enumCol)has had it sincewrapWithRowNumberDedupfirst aliased a derived table back to its base name. It ships separately, before rc.5 is cut, so no released version exposes the new route unfixed.Notes
Two findings were deliberately not ticketed, per standing direction on QA follow-ups: an empty TSDoc hover at the
never-narrowing error site (cursor()behaves identically, so it is a house-level property, not a slice regression), and the demo's namespaced contract requiringdb.orm.<ns>.<Model>where flat-namespace examples usedb.orm.<Model>.🤖 Generated with Claude Code