Skip to content

Feature: Batch unpaginated to-many relationship reads across parents - #2

Open
MauriceArikoglu wants to merge 3 commits into
aacn:mainfrom
MauriceArikoglu:codex/batch-to-many-relationships
Open

MauriceArikoglu wants to merge 3 commits into
aacn:mainfrom
MauriceArikoglu:codex/batch-to-many-relationships

Conversation

@MauriceArikoglu

@MauriceArikoglu MauriceArikoglu commented Nov 2, 2026 •

Copy link
Copy Markdown
  • Batch compatible unpaginated to-many relationship reads across parents on the default Prisma client. Reuse the existing scheduler, query preparation, access checks, cache-hint selections, and context isolation.
  • Keep per-parent child queries for custom or supplied Prisma clients, and for reads with take, skip, or a cursor. This includes default maxTake limits and preserves child query extension filters, result transformations, limits, and errors without transferring whole relations for a page.
  • Add 19 regression cases covering one-to-many and many-to-many extensions, derived and transaction contexts, custom hooks that return the same client, and database row counts for default, positive, negative, and skipped pages. Eighteen cases fail against the previous implementation; all 19 pass with these safeguards.
  • Validate 114 tests on PostgreSQL and 114 on SQLite, plus 35 batching tests on each database against the built packages. TypeScript, Oxlint, Prettier, whitespace checks, and the standard Preconstruct bundle build pass.
  • Unpaginated six-parent fixtures still use 3 SQL queries instead of 7 (57% fewer). For two-parent pages with take: 1, transferred child rows decrease from 400 to 2 for one-to-many and from 800 to 2 for shared many-to-many relations.
  • Pin the two browser-test job matrices to Ubuntu 24.04, which the pinned Playwright 1.60 version supports.

@MauriceArikoglu MauriceArikoglu changed the title Feature: Batch to-many relationship reads across parents Feature: Batch unpaginated to-many relationship reads across parents Nov 2, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant