Skip to content

test: do not wrap array parameters in arrays in push#29244

Merged
jacek-prisma merged 6 commits intomainfrom
test/unwrapped-array-push-param
Feb 27, 2026
Merged

test: do not wrap array parameters in arrays in push#29244
jacek-prisma merged 6 commits intomainfrom
test/unwrapped-array-push-param

Conversation

@jacek-prisma
Copy link
Copy Markdown
Contributor

@jacek-prisma jacek-prisma commented Feb 24, 2026

TML-1923

Fixes #29212

Summary by CodeRabbit

  • Tests

    • Added a new functional test suite covering the array-push regression across supported database providers.
  • Chores

    • Bumped Prisma engines and related package versions to 7.5.0-10 across multiple packages.
  • Refactor

    • Normalized error field naming in the runtime to a consistent camelCase property for validation errors.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Feb 24, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3e95e1e and 5e7fa23.

📒 Files selected for processing (2)
  • packages/client-engine-runtime/src/interpreter/validation.ts
  • packages/client-engine-runtime/src/query-plan.ts

Walkthrough

Adds a functional regression test (matrix, schema, tests) for issue #29212 (array push on String[]), and bumps multiple Prisma engine/wasm dependency versions from 7.5.0-9... to 7.5.0-10... across several packages.

Changes

Cohort / File(s) Summary
Regression test (matrix)
packages/client/tests/functional/issues/29212-array-push-regression/_matrix.ts
Adds test matrix exporting a default matrix that includes all providers except MySQL, SQLite, and SQL Server.
Regression test (schema helper)
packages/client/tests/functional/issues/29212-array-push-regression/prisma/_schema.ts
Adds testMatrix.setupSchema exporting a Prisma schema for model Item with id, name, and tags String[], using idForProvider for id generation.
Regression test (tests)
packages/client/tests/functional/issues/29212-array-push-regression/tests.ts
Adds tests that create an item, perform tags: { push: [...] } update, and assert resulting array; opts out MySQL/SQLite/SQLServer with a reason.
Engine/version bumps (client-generator & related packages)
packages/client-generator-js/package.json, packages/client-generator-ts/package.json, packages/client/package.json, packages/engines/package.json, packages/fetch-engine/package.json, packages/internals/package.json, packages/migrate/package.json, packages/schema-files-loader/package.json
Bumps versions of @prisma/engines-version and related wasm/query-compiler packages from 7.5.0-9... to 7.5.0-10... across multiple package manifests.
Runtime type rename
packages/client-engine-runtime/src/query-plan.ts, packages/client-engine-runtime/src/interpreter/validation.ts
Renames discriminant/property from error_identifier to errorIdentifier in ValidationError type and consuming switch statements to match camelCase property.

Possibly related issues

  • Issue #29212 — Directly targeted by the added functional test verifying push on String[] fields; the test reproduces and asserts correct behavior for the reported regression.
  • Error when pushing items to a scalar list with Prisma 7 #29200 — Adds a similar functional test matrix and schema for the array-push regression; this PR's changes (tests and schema) align with objectives in that issue and could be linked as addressing the same bug.
🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Out of Scope Changes check ❓ Inconclusive Changes to validation error property names (error_identifier to errorIdentifier) appear to be scope adjustments beyond test infrastructure. Clarify whether camelCase property renames in validation.ts and query-plan.ts are necessary for the array push fix or represent separate refactoring work.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Title concisely describes the test adjustment for the array push regression fix without covering implementation details.
Linked Issues check ✅ Passed PR adds functional test and test infrastructure for issue #29212 (array push regression) and includes engine version bumps and validation error property renames in implementation.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch test/unwrapped-array-push-param

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 24, 2026

size-limit report 📦

Path Size
packages/client/runtime/index-browser.js 2.23 KB (0%)
packages/client/runtime/index-browser.d.ts 3.28 KB (0%)
packages/cli/build/index.js 2.5 MB (+0.01% 🔺)
packages/client/prisma-client-0.0.0.tgz 26.81 MB (+0.01% 🔺)
packages/cli/prisma-0.0.0.tgz 12.84 MB (+0.02% 🔺)
packages/bundle-size/da-workers-libsql/output.tgz 1.33 MB (-0.01% 🔽)
packages/bundle-size/da-workers-neon/output.tgz 1.39 MB (+0.01% 🔺)
packages/bundle-size/da-workers-pg/output.tgz 1.38 MB (+0.01% 🔺)
packages/bundle-size/da-workers-planetscale/output.tgz 1.33 MB (+0.01% 🔺)
packages/bundle-size/da-workers-d1/output.tgz 1.3 MB (-0.01% 🔽)

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 24, 2026

🟢 All good, this PR is no longer uses custom engine.

@aqrln aqrln added this to the 7.5.0 milestone Feb 24, 2026
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Feb 24, 2026
jacek-prisma added a commit to prisma/prisma-engines that referenced this pull request Feb 24, 2026
[TML-1923](https://linear.app/prisma-company/issue/TML-1923/investigate-and-fix-push-regression)

Client PR: prisma/prisma#29244

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Enhanced support for updating array fields in database operations,
including improved handling of list-type parameters.

* **Tests**
  * Added test coverage for array field update operations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
dimsssss pushed a commit to dimsssss/prisma-engines that referenced this pull request Feb 26, 2026
[TML-1923](https://linear.app/prisma-company/issue/TML-1923/investigate-and-fix-push-regression)

Client PR: prisma/prisma#29244

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Enhanced support for updating array fields in database operations,
including improved handling of list-type parameters.

* **Tests**
  * Added test coverage for array field update operations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
@jacek-prisma jacek-prisma merged commit b311672 into main Feb 27, 2026
496 of 499 checks passed
@jacek-prisma jacek-prisma deleted the test/unwrapped-array-push-param branch February 27, 2026 13:39
jacek-prisma added a commit that referenced this pull request Feb 27, 2026
[TML-1923](https://linear.app/prisma-company/issue/TML-1923/investigate-and-fix-push-regression)

Fixes #29212

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Tests**
* Added a new functional test suite covering the array-push regression
across supported database providers.

* **Chores**
* Bumped Prisma engines and related package versions to 7.5.0-10 across
multiple packages.

* **Refactor**
* Normalized error field naming in the runtime to a consistent camelCase
property for validation errors.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Prismo <prismabots@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

P2023 error when using push on String[] fields with @prisma/adapter-pg in 7.4.0

3 participants