Skip to content

Commit 38b5924

Browse files
committed
docs: update CHANGELOG with critical bug fix details
- Added CRITICAL insertMulti conflict target bug fix to Fixed section - Updated test counts to 317 tests, 1464 assertions - Clarified impact: bulk UPSERT now works correctly on PostgreSQL/SQLite
1 parent cff07b8 commit 38b5924

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6565
- `loadData()`, `loadXml()` - Use `QueryBuilder::loadCsv()`, `QueryBuilder::loadXml()` instead
6666

6767
### Fixed
68+
- **CRITICAL: insertMulti() conflict target detection bug**: Fixed automatic conflict target determination for PostgreSQL/SQLite ON CONFLICT
69+
- `buildInsertMultiSql()` now correctly uses first column when `id` not present (matches `insert()` behavior)
70+
- Enables proper bulk UPSERT operations across all dialects
71+
- Without this fix, bulk inserts with `onDuplicate` parameter would fail on PostgreSQL/SQLite
6872
- Restored `RawValue` union type support in `rawQuery()`, `rawQueryOne()`, `rawQueryValue()` methods
6973
- Corrected method calls in `lock()`, `unlock()`, `loadData()`, `loadXml()` to use `prepare()->execute()` pattern
7074
- SQLite JSON support fixes for edge cases (array indexing, value encoding, numeric sorting)
@@ -74,7 +78,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7478
- **PostgreSQL formatSelectOptions test**: Fixed to test actual supported features (FOR UPDATE/FOR SHARE)
7579

7680
### Technical Details
77-
- **All tests passing**: 300 tests, 1424 assertions across MySQL, PostgreSQL, and SQLite (3 skipped for live testing)
81+
- **All tests passing**: 317 tests, 1464 assertions across MySQL, PostgreSQL, and SQLite (3 skipped for live testing)
7882
- **Test coverage**: 83%+ with comprehensive dialect-specific and edge-case testing
7983
- **Full backward compatibility maintained**: Zero breaking changes (deprecated methods removal is non-breaking)
8084
- Examples tested and verified on PHP 8.4.13

0 commit comments

Comments
 (0)