-
-
Notifications
You must be signed in to change notification settings - Fork 6.5k
fix: fix null pointer exception on date array column comparison #11532
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Follow up to typeorm#11269 which was calling Array.map without validating if the array was null. Now only normalize if both values (entity and database) are not null. Closes: typeorm#11514
WalkthroughThe changes introduce a new nullable time array column to the User entity and add corresponding tests to verify update behavior when this column transitions between null and non-null values. Additionally, the logic for normalizing special column values in the diff computation was adjusted to require both entity and database values to be non-null before normalization. Changes
Sequence Diagram(s)sequenceDiagram
participant TestSuite
participant UserEntity
participant Database
TestSuite->>UserEntity: Create User with nullable_times = null
UserEntity->>Database: INSERT User
Database-->>TestSuite: Confirm 1 INSERT
TestSuite->>UserEntity: Update nullable_times to [value1, value2]
UserEntity->>Database: UPDATE User
Database-->>TestSuite: Confirm 1 UPDATE
TestSuite->>UserEntity: Update nullable_times to null
UserEntity->>Database: UPDATE User
Database-->>TestSuite: Confirm 1 UPDATE
Poem
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
npm error Exit handler never called! 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms (17)
✨ Finishing Touches
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
commit: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
src/persistence/SubjectChangedColumnsComputer.ts(2 hunks)test/github-issues/5967/entity/User.ts(1 hunks)test/github-issues/5967/issue-5967.ts(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (20)
- GitHub Check: database-tests (18) / mssql (^11.0.1)
- GitHub Check: database-tests (18) / mssql (^9.1.1)
- GitHub Check: database-tests (16) / mysql_mariadb
- GitHub Check: database-tests (16) / mssql (^11.0.1)
- GitHub Check: database-tests (18) / mongodb
- GitHub Check: database-tests (16) / mssql (^9.1.1)
- GitHub Check: database-tests (16) / postgres (14-3.5)
- GitHub Check: database-tests (16) / mssql (^10.0.1)
- GitHub Check: database-tests (16) / postgres (17-3.5)
- GitHub Check: database-tests (16) / sqljs
- GitHub Check: database-tests (16) / mongodb
- GitHub Check: database-tests (16) / cockroachdb
- GitHub Check: database-tests-compose (20) / sap
- GitHub Check: database-tests-compose (20) / oracle
- GitHub Check: database-tests-compose (18) / sap
- GitHub Check: database-tests-compose (18) / oracle
- GitHub Check: database-tests-windows / sqljs
- GitHub Check: database-tests-windows / sqlite
- GitHub Check: database-tests-windows / better-sqlite3
- GitHub Check: Analyze (javascript-typescript)
🔇 Additional comments (2)
src/persistence/SubjectChangedColumnsComputer.ts (1)
84-86: Null-safety fix looks solid.Restricting the normalization branch to cases where both
entityValueanddatabaseValueare non-null prevents the null-pointer that arose when one side wasnull.
No further issues spotted in this hunk.test/github-issues/5967/issue-5967.ts (1)
203-206: Tests rely on single-element arrays, clashing with the tuple type in the entity.Both tests create
["12:00"], which will not compile once TypeScript checks the tuple[string, string] | null.If you keep the entity change suggested above (
string[] | null) the tests are fine.
Otherwise, adjust the test data to match the tuple, e.g.["12:00", "13:00"].Also applies to: 237-238
sgarner
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perfect, thank you @mnbaccari 👌
gioboa
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @mnbaccari for your amazing help
 <h3>Snyk has created this PR to upgrade typeorm from 0.3.24 to 0.3.25.</h3> :information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project. <hr/> - The recommended version is **22 versions** ahead of your current version. - The recommended version was released **22 days ago**. <details> <summary><b>Release notes</b></summary> <br/> <details> <summary>Package name: <b>typeorm</b></summary> <ul> <li> <b>0.3.25</b> - <a href="https://redirect.github.com/typeorm/typeorm/releases/tag/0.3.25">2025-06-19</a></br><h2>What's Changed</h2> <ul> <li>docs: use correct SQL statements in softDelete/restore comments by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sgarner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/sgarner">@ sgarner</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3081453606" data-permission-text="Title is private" data-url="typeorm/typeorm#11489" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11489/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11489">#11489</a></li> <li>fix: resolve alias or table name in upsert and orUpdate for PostgreSQL driver conditionally by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmarifat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/mmarifat">@ mmarifat</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3047096667" data-permission-text="Title is private" data-url="typeorm/typeorm#11452" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11452/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11452">#11452</a></li> <li>feat(spanner): use credentials from connection options by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/denes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/denes">@ denes</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3086575395" data-permission-text="Title is private" data-url="typeorm/typeorm#11492" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11492/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11492">#11492</a></li> <li>feat: add upsert support for Oracle, SQLServer and SAP HANA by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Yuuki-Sakura/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/Yuuki-Sakura">@ Yuuki-Sakura</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2404532307" data-permission-text="Title is private" data-url="typeorm/typeorm#10974" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/10974/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/10974">#10974</a></li> <li>fix: handle limit(0) and offset(0) correctly in SelectQueryBuilder by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yeonghun104/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/yeonghun104">@ yeonghun104</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3116497992" data-permission-text="Title is private" data-url="typeorm/typeorm#11507" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11507/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11507">#11507</a></li> <li>fix: add collation update detection in PostgresDriver by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/asn6878/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/asn6878">@ asn6878</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3040527205" data-permission-text="Title is private" data-url="typeorm/typeorm#11441" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11441/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11441">#11441</a></li> <li>feat: add typesense/docsearch-scraper by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gioboa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/gioboa">@ gioboa</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3003003060" data-permission-text="Title is private" data-url="typeorm/typeorm#11424" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11424/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11424">#11424</a></li> <li>chore: improve linting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alumni/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/alumni">@ alumni</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3122060339" data-permission-text="Title is private" data-url="typeorm/typeorm#11510" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11510/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11510">#11510</a></li> <li>chore: improve linting (fixup) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alumni/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/alumni">@ alumni</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3122508176" data-permission-text="Title is private" data-url="typeorm/typeorm#11511" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11511/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11511">#11511</a></li> <li>docs: new website initial commit by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/naorpeled/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/naorpeled">@ naorpeled</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2991307150" data-permission-text="Title is private" data-url="typeorm/typeorm#11408" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11408/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11408">#11408</a></li> <li>fix: fix up doc search workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gioboa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/gioboa">@ gioboa</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3125253351" data-permission-text="Title is private" data-url="typeorm/typeorm#11513" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11513/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11513">#11513</a></li> <li>chore: update workflows to ignore changes in docs directory by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dlhck/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/dlhck">@ dlhck</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3132733241" data-permission-text="Title is private" data-url="typeorm/typeorm#11518" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11518/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11518">#11518</a></li> <li>feat(docs): add Plausible analytics script to Docusaurus config by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dlhck/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/dlhck">@ dlhck</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3132688431" data-permission-text="Title is private" data-url="typeorm/typeorm#11517" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11517/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11517">#11517</a></li> <li>docs: add note about using YugabyteDB by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mguida22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/mguida22">@ mguida22</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3137325649" data-permission-text="Title is private" data-url="typeorm/typeorm#11521" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11521/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11521">#11521</a></li> <li>chore(docs): improve website generation config by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alumni/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/alumni">@ alumni</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3143665449" data-permission-text="Title is private" data-url="typeorm/typeorm#11527" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11527/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11527">#11527</a></li> <li>fix(tree-entity): closure junction table primary key definition should match parent table by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gongAll/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/gongAll">@ gongAll</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3002433767" data-permission-text="Title is private" data-url="typeorm/typeorm#11422" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11422/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11422">#11422</a></li> <li>docs: add heading to Getting Started page by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sgarner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/sgarner">@ sgarner</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3151614715" data-permission-text="Title is private" data-url="typeorm/typeorm#11531" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11531/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11531">#11531</a></li> <li>fix: Multiple relations with same columns cause invalid SQL to be generated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yevhen-komarov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/yevhen-komarov">@ yevhen-komarov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2984486062" data-permission-text="Title is private" data-url="typeorm/typeorm#11400" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11400/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11400">#11400</a></li> <li>fix: fix null pointer exception on date array column comparison by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mnbaccari/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/mnbaccari">@ mnbaccari</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3153601577" data-permission-text="Title is private" data-url="typeorm/typeorm#11532" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11532/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11532">#11532</a></li> <li>chore(ci): simplify workflows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alumni/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/alumni">@ alumni</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3147752910" data-permission-text="Title is private" data-url="typeorm/typeorm#11530" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11530/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11530">#11530</a></li> <li>fix: improve async calls on disconnect by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alumni/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/alumni">@ alumni</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3139265175" data-permission-text="Title is private" data-url="typeorm/typeorm#11523" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11523/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11523">#11523</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmarifat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/mmarifat">@ mmarifat</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3047096667" data-permission-text="Title is private" data-url="typeorm/typeorm#11452" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11452/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11452">#11452</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yeonghun104/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/yeonghun104">@ yeonghun104</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3116497992" data-permission-text="Title is private" data-url="typeorm/typeorm#11507" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11507/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11507">#11507</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/asn6878/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/asn6878">@ asn6878</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3040527205" data-permission-text="Title is private" data-url="typeorm/typeorm#11441" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11441/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11441">#11441</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gongAll/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/gongAll">@ gongAll</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3002433767" data-permission-text="Title is private" data-url="typeorm/typeorm#11422" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11422/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11422">#11422</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://redirect.github.com/typeorm/typeorm/compare/0.3.24...0.3.25"><tt>0.3.24...0.3.25</tt></a></p> </li> <li> <b>0.3.25-dev.eb3093d</b> - 2025-06-05 </li> <li> <b>0.3.25-dev.ead4f98</b> - 2025-06-18 </li> <li> <b>0.3.25-dev.ce23d46</b> - 2025-06-16 </li> <li> <b>0.3.25-dev.b1e93f7</b> - 2025-06-18 </li> <li> <b>0.3.25-dev.af9ecc0</b> - 2025-06-17 </li> <li> <b>0.3.25-dev.a9c16ee</b> - 2025-06-05 </li> <li> <b>0.3.25-dev.930eefd</b> - 2025-06-06 </li> <li> <b>0.3.25-dev.86f12c9</b> - 2025-06-10 </li> <li> <b>0.3.25-dev.65d5a00</b> - 2025-06-05 </li> <li> <b>0.3.25-dev.63a3b9a</b> - 2025-06-17 </li> <li> <b>0.3.25-dev.61753b1</b> - 2025-06-05 </li> <li> <b>0.3.25-dev.5003aaa</b> - 2025-05-21 </li> <li> <b>0.3.25-dev.4b0ffee</b> - 2025-06-06 </li> <li> <b>0.3.25-dev.42e7cbe</b> - 2025-06-17 </li> <li> <b>0.3.25-dev.42913b9</b> - 2025-06-11 </li> <li> <b>0.3.25-dev.413f0a6</b> - 2025-06-05 </li> <li> <b>0.3.25-dev.2bfa300</b> - 2025-06-04 </li> <li> <b>0.3.25-dev.24c3e38</b> - 2025-06-05 </li> <li> <b>0.3.25-dev.12a71e4</b> - 2025-05-14 </li> <li> <b>0.3.25-dev.07d7913</b> - 2025-06-04 </li> <li> <b>0.3.25-dev.03faa78</b> - 2025-06-14 </li> <li> <b>0.3.24</b> - <a href="https://redirect.github.com/typeorm/typeorm/releases/tag/0.3.24">2025-05-14</a></br><h2>What's Changed</h2> <ul> <li>feat: add tagged template for executing raw SQL queries by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Newbie012/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/Newbie012">@ Newbie012</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3028712893" data-permission-text="Title is private" data-url="typeorm/typeorm#11432" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11432/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11432">#11432</a></li> <li>chore: Add husky and lint-staged by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maxbronnikov10/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/maxbronnikov10">@ maxbronnikov10</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3044164801" data-permission-text="Title is private" data-url="typeorm/typeorm#11448" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11448/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11448">#11448</a></li> <li>fix: resolve pkg.pr.new issue by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/naorpeled/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/naorpeled">@ naorpeled</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3054189764" data-permission-text="Title is private" data-url="typeorm/typeorm#11463" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11463/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11463">#11463</a></li> <li>perf: improve save performance during entities update by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lotczyk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/lotczyk">@ lotczyk</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3049144737" data-permission-text="Title is private" data-url="typeorm/typeorm#11456" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11456/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11456">#11456</a></li> <li>refactor: remove unused NamingStrategyNotFoundError by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mguida22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/mguida22">@ mguida22</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3053756244" data-permission-text="Title is private" data-url="typeorm/typeorm#11462" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11462/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11462">#11462</a></li> <li>chore: add note about breaking change in 0.3.23 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mguida22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/mguida22">@ mguida22</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3057590521" data-permission-text="Title is private" data-url="typeorm/typeorm#11469" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11469/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11469">#11469</a></li> <li>build: include db version in coveralls flag-name by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mguida22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/mguida22">@ mguida22</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3053694931" data-permission-text="Title is private" data-url="typeorm/typeorm#11461" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11461/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11461">#11461</a></li> <li>chore: include warning about update({}) in changelog by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sgarner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/sgarner">@ sgarner</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3058303343" data-permission-text="Title is private" data-url="typeorm/typeorm#11471" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11471/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11471">#11471</a></li> <li>feat: add updateAll and deleteAll methods to EntityManager and Repository APIs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sgarner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/sgarner">@ sgarner</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3051787023" data-permission-text="Title is private" data-url="typeorm/typeorm#11459" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11459/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11459">#11459</a></li> <li>Fix/11466 mssql find operator by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/christian-forgacs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/christian-forgacs">@ christian-forgacs</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3056841300" data-permission-text="Title is private" data-url="typeorm/typeorm#11468" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11468/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11468">#11468</a></li> <li>feat(spanner): support insert returning by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/denes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/denes">@ denes</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3052844885" data-permission-text="Title is private" data-url="typeorm/typeorm#11460" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11460/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11460">#11460</a></li> <li>chore: clarify commit practices by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mguida22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/mguida22">@ mguida22</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3058510988" data-permission-text="Title is private" data-url="typeorm/typeorm#11472" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11472/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11472">#11472</a></li> <li>fix(mssql): avoid mutating input parameter array values by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sgarner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/sgarner">@ sgarner</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3061331662" data-permission-text="Title is private" data-url="typeorm/typeorm#11476" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11476/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11476">#11476</a></li> <li>fix: capacitor driver PRAGMA bug by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AlexAzartsev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/AlexAzartsev">@ AlexAzartsev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3056524220" data-permission-text="Title is private" data-url="typeorm/typeorm#11467" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11467/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11467">#11467</a></li> <li>chore: version 0.3.24 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mguida22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/mguida22">@ mguida22</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3063696327" data-permission-text="Title is private" data-url="typeorm/typeorm#11478" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11478/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11478">#11478</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/denes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/denes">@ denes</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3052844885" data-permission-text="Title is private" data-url="typeorm/typeorm#11460" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11460/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11460">#11460</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AlexAzartsev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/AlexAzartsev">@ AlexAzartsev</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3056524220" data-permission-text="Title is private" data-url="typeorm/typeorm#11467" data-hovercard-type="pull_request" data-hovercard-url="/typeorm/typeorm/pull/11467/hovercard" href="https://redirect.github.com/typeorm/typeorm/pull/11467">#11467</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://redirect.github.com/typeorm/typeorm/compare/0.3.23...0.3.24"><tt>0.3.23...0.3.24</tt></a></p> </li> </ul> from <a href="https://redirect.github.com/typeorm/typeorm/releases">typeorm GitHub release notes</a> </details> </details> --- > [!IMPORTANT] > > - Check the changes in this PR to ensure they won't cause issues with your project. > - This PR was automatically created by Snyk using the credentials of a real user. > - Snyk has automatically assigned this pull request, [set who gets assigned](/settings/integration). --- **Note:** _You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs._ **For more information:** <img src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiIwYjZmODgzMy0xZWFiLTRmYjItOGY5My1mNDAxMmRhYmFkZWQiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjBiNmY4ODMzLTFlYWItNGZiMi04ZjkzLWY0MDEyZGFiYWRlZCJ9fQ==" width="0" height="0"/> > - 🧐 [View latest project report](https://app.snyk.io/org/renatosugimoto/project/31d5132a-e6b1-4b8a-a6a3-43b157a71ac5?utm_source=github&utm_medium=referral&page=upgrade-pr) > - 👩💻 [Set who automatically gets assigned](https://app.snyk.io/org/renatosugimoto/project/31d5132a-e6b1-4b8a-a6a3-43b157a71ac5/settings/integration?utm_source=github&utm_medium=referral&page=upgrade-pr/) > - 📜 [Customise PR templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates?utm_source=&utm_content=fix-pr-template) > - 🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/renatosugimoto/project/31d5132a-e6b1-4b8a-a6a3-43b157a71ac5/settings/integration?utm_source=github&utm_medium=referral&page=upgrade-pr) > - 🔕 [Ignore this dependency or unsubscribe from future upgrade PRs](https://app.snyk.io/org/renatosugimoto/project/31d5132a-e6b1-4b8a-a6a3-43b157a71ac5/settings/integration?pkg=typeorm&utm_source=github&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades) [//]: # 'snyk:metadata:{"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"typeorm","from":"0.3.24","to":"0.3.25"}],"env":"prod","hasFixes":false,"isBreakingChange":false,"isMajorUpgrade":false,"issuesToFix":[],"prId":"0b6f8833-1eab-4fb2-8f93-f4012dabaded","prPublicId":"0b6f8833-1eab-4fb2-8f93-f4012dabaded","packageManager":"npm","priorityScoreList":[],"projectPublicId":"31d5132a-e6b1-4b8a-a6a3-43b157a71ac5","projectUrl":"https://app.snyk.io/org/renatosugimoto/project/31d5132a-e6b1-4b8a-a6a3-43b157a71ac5?utm_source=github&utm_medium=referral&page=upgrade-pr","prType":"upgrade","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":[],"type":"auto","upgrade":[],"upgradeInfo":{"versionsDiff":22,"publishedDate":"2025-06-19T18:32:25.818Z"},"vulns":[]}' Co-authored-by: snyk-bot <[email protected]>
…orm#11532) * fix: fix null pointer exception on date array column comparison Follow up to typeorm#11269 which was calling Array.map without validating if the array was null. Now only normalize if both values (entity and database) are not null. Closes: typeorm#11514 * clean test
Closes: #11514
Description of change
Follow up to #11269 which was calling Array.map without validating if the array was null. Now only normalize if both values (entity and database) are not null. There is not point in normalizing the values if either is null, because the later comparison will just compare with null anyway. Added a test to the original test suite. The null -> value one failed before my change and succeeded after.
Pull-Request Checklist
masterbranchFixes #00000Summary by CodeRabbit