@lossless.org/nosqldb 10.5.0 → 10.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lossless.org/nosqldb",
3
- "version": "10.5.0",
3
+ "version": "10.5.1",
4
4
  "private": false,
5
5
  "description": "A MongoDB-compatible embedded database server with wire protocol support, backed by a high-performance Rust engine.",
6
6
  "exports": {
@@ -14,12 +14,12 @@
14
14
  "devDependencies": {
15
15
  "@api.global/typedserver": "^8.4.6",
16
16
  "@design.estate/dees-element": "^2.2.4",
17
- "@git.zone/tsbuild": "^4.5.0",
18
- "@git.zone/tsbundle": "^2.13.0",
17
+ "@git.zone/tsbuild": "^5.0.0",
18
+ "@git.zone/tsbundle": "^2.15.0",
19
19
  "@git.zone/tsrust": "^1.13.2",
20
- "@git.zone/tstest": "^6.1.1",
20
+ "@git.zone/tstest": "^6.2.0",
21
21
  "@lossless.org/client": "0.1.1",
22
- "@types/node": "26.5.1",
22
+ "@types/node": "26.6.1",
23
23
  "mongodb": "^7.5.0"
24
24
  },
25
25
  "dependencies": {
package/readme.md CHANGED
@@ -559,6 +559,17 @@ see the transaction snapshot plus its staged changes. Commit validates conflicts
559
559
  and publishes atomically; abort discards staged changes. Write conflicts report
560
560
  `WriteConflict` (112) with `TransientTransactionError`.
561
561
 
562
+ A staged write conflicts when it touches a document `_id` or a unique index key
563
+ that another transaction or statement wrote after this transaction's snapshot:
564
+ for example two transactions that both read a claim as absent and then insert
565
+ it under the same `_id`, or under distinct `_id`s with the same unique key.
566
+ Statements validate against the snapshot, so such a collision is reported when
567
+ the loser commits; nothing of the losing transaction is published. The driver's
568
+ `withTransaction` retries the transient error, and the retry observes the
569
+ winner. A key already visible in the transaction's snapshot is not a conflict:
570
+ inserting it fails the statement with `DuplicateKey` (11000), as outside a
571
+ transaction.
572
+
562
573
  Commit/abort outcomes and successful retryable statement results survive file
563
574
  storage restart. Duplicate commits replay their outcome; abort after commit
564
575
  reports `TransactionCommitted` (256), commit after abort reports
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@lossless.org/nosqldb',
6
- version: '10.5.0',
6
+ version: '10.5.1',
7
7
  description: 'A MongoDB-compatible embedded database server with wire protocol support, backed by a high-performance Rust engine.'
8
8
  }