feat: return a can_assume_strict_equality for in-memory joins#5785
feat: return a can_assume_strict_equality for in-memory joins#5785jacek-prisma merged 4 commits intomainfrom
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review infoConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro 📒 Files selected for processing (1)
WalkthroughAdds Connector::can_assume_strict_equality_in_joins with default false and overrides returning true for several built-in connectors. Carries a new boolean into Expression::Join, augments Expression::Validate with error_identifier and context, adds serde rename attributes, and threads the join flag through query translation. Changes
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
Merging this PR will not alter performance
Comparing Footnotes
|
There was a problem hiding this comment.
Actionable comments posted: 2
ℹ️ Review info
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (5)
psl/psl-core/src/builtin_connectors/mysql_datamodel_connector.rspsl/psl-core/src/datamodel_connector.rsquery-compiler/query-compiler/src/expression.rsquery-compiler/query-compiler/src/expression/format.rsquery-compiler/query-compiler/src/translate/query/read.rs
Wasm Query Compiler File Size
|
[TML-1868](https://linear.app/prisma-company/issue/TML-1868/fix-mysql-bigint-relation-issue) Adds support for a new `canAssumeStrictEquality` flag used for in-memory joins. When it's set to false, we infer the type of the key present on the parent rows and inject casts for children rows. Fixes some MySQL edge cases. Fixes #29122 Engine PR: prisma/prisma-engines#5785 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved join key matching with optional per-field value mapping/type casting and a new flag to control strict-equality assumptions. * Standardized validation error identifiers to camelCase for more consistent error reporting. * **Tests** * Added MySQL-only functional tests for view relations with large BigInt keys. * **Chores** * Updated internal engine/tooling version references. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Prismo <prismabots@gmail.com>
[TML-1868](https://linear.app/prisma-company/issue/TML-1868/fix-mysql-bigint-relation-issue) Adds support for a new `canAssumeStrictEquality` flag used for in-memory joins. When it's set to false, we infer the type of the key present on the parent rows and inject casts for children rows. Fixes some MySQL edge cases. Fixes #29122 Engine PR: prisma/prisma-engines#5785 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved join key matching with optional per-field value mapping/type casting and a new flag to control strict-equality assumptions. * Standardized validation error identifiers to camelCase for more consistent error reporting. * **Tests** * Added MySQL-only functional tests for view relations with large BigInt keys. * **Chores** * Updated internal engine/tooling version references. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Prismo <prismabots@gmail.com>
TML-1868
/prisma-branch fix/strict-equality-joins
Client PR: prisma/prisma#29251
Summary by CodeRabbit
New Features
Chores