docs: add raw SQL query support to the Prisma 8 RC1 roadmap - #1039
docs: add raw SQL query support to the Prisma 8 RC1 roadmap#1039wmadden-electric wants to merge 1 commit into
Conversation
Adds a new Requirement 4 item — statement-level raw SQL query support (the $queryRaw/$executeRaw escape hatch) — as a list of the major items needed before the RC freeze, to both ROADMAP.md and its hand-maintained ROADMAP.html mirror. The typed-builder raw *fragment* (fns.raw) already ships and is proven on Postgres and SQLite; the statement-level path is designed (ADR 012) and has substrate (driver query(sql, params), a raw execution-plan shape, guardrails) but no public API, so a real app had to hand-forge a plan and hit a guardrail crash (TML-2672). The block lists: a public query/execute API, safe parameterization with a named unsafe door, read/write intent for the guardrails, a decided answer on result typing and the Prisma.sql/join/raw/empty helpers, and the explicit-codec fix (TML-2959). Task tallies updated for the added not-started item: page 34 -> 35, not started 21 -> 22; Requirement 4 mini-bar 6 -> 7 tasks. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
|
Warning Review limit reached
Next review available in: 19 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
size-limit report 📦
|
@prisma-next/extension-author-tools
@prisma-next/mongo-runtime
@prisma-next/family-mongo
@prisma-next/sql-runtime
@prisma-next/family-sql
@prisma-next/extension-arktype-json
@prisma-next/middleware-cache
@prisma-next/mongo
@prisma-next/extension-paradedb
@prisma-next/extension-pgvector
@prisma-next/extension-postgis
@prisma-next/postgres
@prisma-next/sql-orm-client
@prisma-next/sqlite
@prisma-next/extension-supabase
@prisma-next/target-mongo
@prisma-next/adapter-mongo
@prisma-next/driver-mongo
@prisma-next/contract
@prisma-next/utils
@prisma-next/config
@prisma-next/errors
@prisma-next/framework-components
@prisma-next/operations
@prisma-next/ts-render
@prisma-next/contract-authoring
@prisma-next/ids
@prisma-next/psl-parser
@prisma-next/psl-printer
@prisma-next/cli
@prisma-next/cli-telemetry
@prisma-next/config-loader
@prisma-next/emitter
@prisma-next/language-server
@prisma-next/migration-tools
prisma-next
@prisma-next/vite-plugin-contract-emit
@prisma-next/mongo-codec
@prisma-next/mongo-contract
@prisma-next/mongo-value
@prisma-next/mongo-contract-psl
@prisma-next/mongo-contract-ts
@prisma-next/mongo-emitter
@prisma-next/mongo-schema-ir
@prisma-next/mongo-query-ast
@prisma-next/mongo-orm
@prisma-next/mongo-query-builder
@prisma-next/mongo-lowering
@prisma-next/mongo-wire
@prisma-next/sql-contract
@prisma-next/sql-errors
@prisma-next/sql-operations
@prisma-next/sql-schema-ir
@prisma-next/sql-contract-psl
@prisma-next/sql-contract-ts
@prisma-next/sql-contract-emitter
@prisma-next/sql-lane-query-builder
@prisma-next/sql-relational-core
@prisma-next/sql-builder
@prisma-next/target-postgres
@prisma-next/target-sqlite
@prisma-next/adapter-postgres
@prisma-next/adapter-sqlite
@prisma-next/driver-postgres
@prisma-next/driver-sqlite
commit: |
Linked issue
No single ticket — this documents a gap in the Prisma 8 RC1 roadmap, part of the Prisma 8 RC1 project. Context tickets referenced in the new block: TML-2672 (the gotcha that proves the gap) and TML-2959 (the one frozen-surface fix on the shipped fragment path). Follows the
docs:convention set by the roadmap's own PR (#1028).At a glance
A new Requirement 4 item in
ROADMAP.md, opening with:…followed by five bullets naming the major items, and closing on the July 24 bar: statement-level raw SQL either ships with a proving test or becomes a written-down "not in 8.0" absence.
Decision
Raw SQL query support was absent from the roadmap. The roadmap's own principle is "everything absent is named rather than silently missing", and raw queries are one of the most-used Prisma 7 features — so it gets a named block. The block lands as one new
<details>task under Requirement 4 — the release's claims must be proven, beside the existing "Capabilities still landing before the verdicts freeze" item, because that's where the roadmap tracks features whose scoreboard verdict must resolve before July 24.The block distinguishes what already ships from what's missing, grounded in the current codebase and the checked-in scorecard (
scorecard/13-raw-and-typed-sql.md):fns.raw`…`) on Postgres and SQLite; MongoDB has its own raw-command hatch.$queryRaw/$executeRawpath. The substrate exists (the driver'squery(sql, params), alane: 'raw'execution-plan shape, the guardrail evaluator) and the design is written (ADR 012), but no public helper surfaces it — so a real Prisma 8 app had to hand-forge an execution plan to run atruncateand hit a guardrail crash (TML-2672).The five major items listed: a public statement-level query/execute API; safe-by-default parameterization with a named unsafe door; read/write intent the guardrails can see; a decided answer on result typing and the
Prisma.sql/join/raw/emptyhelpers (currently not in 8.0); and the explicit-codec fix on the shipped fragment path (TML-2959).What changed
ROADMAP.md— the new<details>block under Requirement 4; top task tally updated (21 not started→22).ROADMAP.html— the same block mirrored in the hand-maintained styled render (matching<details class="task">markup), plus the three count surfaces kept in sync: the header tally (34 → 35 tasks, 22 not started, flight-bar width), the legend, and Requirement 4's mini-bar (6 → 7 tasks,1 done · 2 in flight · 4 not started).Reviewer notes
origin/mainbefore editing. The worktree's original HEAD predated docs: ROADMAP.md carries the Prisma 8 roadmap; database tiers stated; stale planning docs deleted #1028, which rewroteROADMAP.mdfrom the old marketing roadmap into the RC1 plan — editing the stale file would have produced a 280-line phantom diff. The diff here is the two files only.ROADMAP.htmlis a hand-authored mirror, not generated from the Markdown, so both files change together. Worth spot-checking that the prose and the five bullets match between them.34 tasks/21 not started/6 tasks:strings remain.scorecard/13-raw-and-typed-sql.md(rawSqlfragment ✅ PG+SQLite;Prisma.sql/join/raw/empty, typed fragment generics, TypedSQL all ❌); the substrate claims match the driverSqlQueryable.queryinterface and thelane: 'raw'plan; the crash and hand-forged-plan story is from TML-2672.Verification
ROADMAP.htmland confirmed the block expands with its five bullets and correct links (TML-2672, ADR 012, TML-2959); the header shows the updated35 tasks — 1 done, 12 in flight, 22 not started.grepacross both files: no stale counts remain; the new block is present in both; Requirement 4 now has 7 balanced<details>/</details>pairs.Checklist
git commit -s+ Will'sSigned-off-bycertification); DCO will pass.n/a, doc-only change with no behavioural delta.docs:convention used by the roadmap's own PR (docs: ROADMAP.md carries the Prisma 8 roadmap; database tiers stated; stale planning docs deleted #1028); no dedicated Linear ticket.n/a, no skill touched.