Skip to content
Open
Changes from 1 commit
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
db61dfb
Add bind parameter support to Model#bulkCreate
papandreou Mar 5, 2025
b8be44b
WIP: parameterStyle option
papandreou Mar 9, 2025
782fdbf
Merge branch 'main' into feature/bulkCreateBind
papandreou Sep 2, 2025
3f78fb2
Apply suggestion to the abstract query interface
papandreou Sep 3, 2025
2538745
Apply suggestion to query interface bulk insert test
papandreou Sep 3, 2025
630bdfe
Apply another suggestion to query interface bulk insert test
papandreou Sep 3, 2025
e8a8628
Apply another suggestion to query interface bulk insert test
papandreou Sep 3, 2025
ab6952a
Apply suggestion to ibmi query generator
papandreou Sep 3, 2025
992b220
Undo bad suggestion
papandreou Sep 3, 2025
a58d2fb
Apply suggestion from code review
papandreou Sep 7, 2025
55c8506
Apply suggestions from code review
papandreou Sep 7, 2025
9e96cbc
Expect bind parameter in WHERE in Postgres insert test
papandreou Sep 7, 2025
6b272aa
Avoid type errors in new tests
papandreou Sep 7, 2025
b4629a0
Try to avoid failing in new AI-suggested test in dialects that don't …
papandreou Sep 7, 2025
f529d68
Revert "Apply suggestion from code review"
papandreou Sep 8, 2025
4baddf8
Apply suggestion
papandreou Sep 10, 2025
b26fd23
Apply suggestion
papandreou Sep 10, 2025
3c6403c
Revert "Revert "Apply suggestion from code review""
papandreou Sep 10, 2025
42bd743
Maybe we're missing parameterStyle:bind in this insert test
papandreou Sep 11, 2025
88fef18
Revert "Apply suggestion"
papandreou Sep 11, 2025
f0f8400
Try to revert change to QueryGenerator#insertQuery to see if that fix…
papandreou Sep 15, 2025
3f4977d
Set continue-on-error: true to see which dialects actually fail now
papandreou Sep 16, 2025
4b61c9f
Revert "Set continue-on-error: true to see which dialects actually fa…
papandreou Sep 16, 2025
9bc1e73
Merge branch 'main' into feature/bulkCreateBind
papandreou Oct 26, 2025
fed3779
Use createBindParamGenerator instead of this.bindParam (required by #…
papandreou Oct 26, 2025
437e201
Use ParameterStyle enum
papandreou Oct 26, 2025
898c424
Put back passing of bindParam to this.whereQuery in conflictWhere han…
papandreou Oct 26, 2025
07eefee
Add dialect.supports.inserts.onConflictWhereBind so that we can turn …
papandreou Oct 27, 2025
64f689f
Update expected value in sqlite3 test after the introduction of diale…
papandreou Oct 27, 2025
24954f6
Don't check bind parameters when expecting an error for the specific …
papandreou Oct 27, 2025
ee77c4a
Add assertion on the bind parameter values in inser conflictWhere test
papandreou Oct 27, 2025
b639a7c
Refine the support for bind assertions so we get to expect undefined …
papandreou Oct 27, 2025
4dfb00a
Add per-dialect assertions on the bind values in another test
papandreou Oct 27, 2025
43677c6
Fix assertion style with query/bind given as separate objects
papandreou Oct 27, 2025
bb29607
Action https://github.com/sequelize/sequelize/pull/17752#discussion_r…
papandreou Oct 27, 2025
c1e50b9
Action https://github.com/sequelize/sequelize/pull/17752#discussion_r…
papandreou Oct 27, 2025
244ff82
Address nitpick comments from https://github.com/sequelize/sequelize/…
papandreou Oct 27, 2025
ade4b55
Merge branch 'main' into feature/bulkCreateBind
papandreou Apr 15, 2026
c68f900
Fix some failing tests
papandreou Apr 15, 2026
c366a50
Fix ibmi
papandreou Apr 15, 2026
ff90025
fix(oracle): adapt bulk insert bind handling
Apr 15, 2026
47d6ac0
Merge remote-tracking branch 'origin/WikiRik/oracle-bulk-insert-bind-…
papandreou Apr 15, 2026
81cd4b6
Fiddle more with tests
papandreou Apr 15, 2026
f991eee
Try to fix test-typings
papandreou Apr 15, 2026
01bf414
Allow bind to be explicitly undefined in assertions without falling back
papandreou Apr 15, 2026
4eb05fe
Merge branch 'main' into feature/bulkCreateBind
WikiRik Sep 7, 2026
0d14473
fix: never bind the ON CONFLICT WHERE predicate
Sep 7, 2026
18304de
fix: do not forward an empty bind map for replacement-style bulk inserts
Sep 7, 2026
846446b
refactor(oracle): drop the duplicated bulkInsert override
Sep 7, 2026
c8c918f
perf: make the ordered bind collector linear
Sep 7, 2026
6f26fa7
fix: give parameterStyle one contract across dialects for bulk inserts
Sep 7, 2026
680dc04
refactor: share the parameterStyle resolution between insert and upda…
Sep 7, 2026
7eb4161
test: restore replacement-style bulkInsertQuery cases in the dialect …
Sep 7, 2026
a75415d
fix: reject an unsupported parameterStyle in bulkCreate before runnin…
Sep 7, 2026
dae0f19
chore: trim explanatory comments added in the previous commits
Sep 7, 2026
ddc90fa
test: move bulkInsertQuery cases to the shared query-generator suite
Sep 7, 2026
3207928
fix: reject the bind option in bulkInsert on dialects with positional…
Sep 7, 2026
07d2486
test: skip the literal replacements case via the dialect capability
Sep 7, 2026
8a4ddd8
test: derive the bulkInsertQuery attributes from a model definition
Sep 8, 2026
a7a731d
refactor: move bulkInsert to the TypeScript query interface
Sep 8, 2026
2c20b1d
refactor: move the parameterStyle resolution to the query generator i…
Sep 8, 2026
c124ad1
Merge branch 'main' into feature/bulkCreateBind
Sep 8, 2026
abf303e
chore: put the bulkDelete JSDoc back above bulkDelete
Sep 8, 2026
5cead8c
feat: accept a model in QueryInterface#bulkInsert
Sep 8, 2026
55f9dad
feat: type the records of QueryInterface#bulkInsert as plain objects
Sep 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Try to avoid failing in new AI-suggested test in dialects that don't …
…support bind parameters
  • Loading branch information
papandreou committed Sep 7, 2025
commit b4629a024284601f93dc0f781ec95d8af73f19b4
14 changes: 8 additions & 6 deletions packages/core/test/unit/query-interface/bulk-insert.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,14 @@ describe('QueryInterface#bulkInsert', () => {
),
});

const firstArg = stub.getCall(0).args[1];
if (firstArg && typeof firstArg === 'object') {
expect(firstArg.bind).to.include({ sequelize_1: 'user0' });
expect(firstArg.bind).to.have.property('sequelize_1000', 'user999');
} else {
throw new Error('expected the first arg to be an object');
if (!['db2', 'mssql'].includes(sequelize.dialect.name)) {
const firstArg = stub.getCall(0).args[1];
if (firstArg && typeof firstArg === 'object') {
expect(firstArg.bind).to.include({ sequelize_1: 'user0' });
expect(firstArg.bind).to.have.property('sequelize_1000', 'user999');
} else {
throw new Error('expected the first arg to be an object');
}
}
});

Expand Down
Loading