@lossless.org/nosqldb 10.6.0 → 10.6.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/dist_rust/rustdb_linux_amd64 +0 -0
- package/dist_rust/rustdb_linux_amd64.tsrust-build.json +4 -4
- package/dist_rust/rustdb_linux_amd64_musl +0 -0
- package/dist_rust/rustdb_linux_amd64_musl.tsrust-build.json +4 -4
- package/dist_rust/rustdb_linux_arm64 +0 -0
- package/dist_rust/rustdb_linux_arm64.tsrust-build.json +4 -4
- package/dist_rust/rustdb_linux_arm64_musl +0 -0
- package/dist_rust/rustdb_linux_arm64_musl.tsrust-build.json +4 -4
- package/dist_rust/rustdb_macos_amd64 +0 -0
- package/dist_rust/rustdb_macos_amd64.tsrust-build.json +4 -4
- package/dist_rust/rustdb_macos_arm64 +0 -0
- package/dist_rust/rustdb_macos_arm64.tsrust-build.json +4 -4
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/package.json +3 -3
- package/readme.md +54 -15
- package/ts/00_commitinfo_data.ts +1 -1
|
Binary file
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "45c8b46b088226aabaf6b260d1b4cd33f630b9f350f412fc9526f63754ebf8ed",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@lossless.org/nosqldb",
|
|
6
|
-
"projectVersion": "10.6.
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "10.6.1",
|
|
7
|
+
"gitCommit": "8a382123c5eb00f062a89c786c87f0588332f0a7",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-09-
|
|
9
|
+
"builtAt": "2026-09-26T11:38:26.096Z",
|
|
10
10
|
"tsrustVersion": "1.15.1",
|
|
11
11
|
"binary": "rustdb",
|
|
12
12
|
"target": "linux_amd64"
|
|
Binary file
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "69c2b52877d8d92145f105263807d1ee7e5c41fab58ffe6adcc8ad6f4c9a6e30",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@lossless.org/nosqldb",
|
|
6
|
-
"projectVersion": "10.6.
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "10.6.1",
|
|
7
|
+
"gitCommit": "8a382123c5eb00f062a89c786c87f0588332f0a7",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-09-
|
|
9
|
+
"builtAt": "2026-09-26T11:38:26.947Z",
|
|
10
10
|
"tsrustVersion": "1.15.1",
|
|
11
11
|
"binary": "rustdb",
|
|
12
12
|
"target": "linux_amd64_musl"
|
|
Binary file
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "bdb5b22a9d6d338e0a8474fec47233fa0da53f7a7e4771958ce32e75e6102da7",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@lossless.org/nosqldb",
|
|
6
|
-
"projectVersion": "10.6.
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "10.6.1",
|
|
7
|
+
"gitCommit": "8a382123c5eb00f062a89c786c87f0588332f0a7",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-09-
|
|
9
|
+
"builtAt": "2026-09-26T11:38:26.518Z",
|
|
10
10
|
"tsrustVersion": "1.15.1",
|
|
11
11
|
"binary": "rustdb",
|
|
12
12
|
"target": "linux_arm64"
|
|
Binary file
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "e08e92879b6a3c1f8f5e91a90bb0c26cf5a6500af87bbf129f4c0833a1c21a61",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@lossless.org/nosqldb",
|
|
6
|
-
"projectVersion": "10.6.
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "10.6.1",
|
|
7
|
+
"gitCommit": "8a382123c5eb00f062a89c786c87f0588332f0a7",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-09-
|
|
9
|
+
"builtAt": "2026-09-26T11:38:27.390Z",
|
|
10
10
|
"tsrustVersion": "1.15.1",
|
|
11
11
|
"binary": "rustdb",
|
|
12
12
|
"target": "linux_arm64_musl"
|
|
Binary file
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "bc8d7bed405a7aea9281f786c2cb845836c109a577882403dff5cae1ddab2e3b",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@lossless.org/nosqldb",
|
|
6
|
-
"projectVersion": "10.6.
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "10.6.1",
|
|
7
|
+
"gitCommit": "8a382123c5eb00f062a89c786c87f0588332f0a7",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-09-
|
|
9
|
+
"builtAt": "2026-09-26T11:22:15.998Z",
|
|
10
10
|
"tsrustVersion": "1.15.1",
|
|
11
11
|
"binary": "rustdb",
|
|
12
12
|
"target": "macos_amd64"
|
|
Binary file
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "f7b402ccadcdf3e272b82c07f1af67ebbc1556d5b6d7c974383771b643cb8f14",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@lossless.org/nosqldb",
|
|
6
|
-
"projectVersion": "10.6.
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "10.6.1",
|
|
7
|
+
"gitCommit": "8a382123c5eb00f062a89c786c87f0588332f0a7",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-09-
|
|
9
|
+
"builtAt": "2026-09-26T11:22:16.581Z",
|
|
10
10
|
"tsrustVersion": "1.15.1",
|
|
11
11
|
"binary": "rustdb",
|
|
12
12
|
"target": "macos_arm64"
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@lossless.org/nosqldb',
|
|
6
|
-
version: '10.6.
|
|
6
|
+
version: '10.6.1',
|
|
7
7
|
description: 'A MongoDB-compatible embedded database server with wire protocol support, backed by a high-performance Rust engine.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx1QkFBdUI7SUFDN0IsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLHFIQUFxSDtDQUNuSSxDQUFBIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lossless.org/nosqldb",
|
|
3
|
-
"version": "10.6.
|
|
3
|
+
"version": "10.6.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": {
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
"@git.zone/tsbuild": "^5.0.0",
|
|
18
18
|
"@git.zone/tsbundle": "^2.15.0",
|
|
19
19
|
"@git.zone/tsrust": "^1.15.1",
|
|
20
|
-
"@git.zone/tstest": "^6.
|
|
20
|
+
"@git.zone/tstest": "^6.3.0",
|
|
21
21
|
"@lossless.org/client": "0.1.1",
|
|
22
|
-
"@types/node": "26.6.
|
|
22
|
+
"@types/node": "26.6.2",
|
|
23
23
|
"mongodb": "^7.5.0"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
package/readme.md
CHANGED
|
@@ -554,21 +554,60 @@ authority. Auth changes and the data/control records they protect share native
|
|
|
554
554
|
atomic publications.
|
|
555
555
|
|
|
556
556
|
Single-node transactions pin one committed root across namespaces and retain
|
|
557
|
-
changed documents, rather than copying a database.
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
`
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
557
|
+
changed documents, rather than copying a database. The snapshot is pinned by
|
|
558
|
+
the transaction's first statement. Supported reads and writes see the
|
|
559
|
+
transaction snapshot plus its staged changes. Commit publishes atomically;
|
|
560
|
+
abort discards staged changes.
|
|
561
|
+
|
|
562
|
+
Write conflicts follow MongoDB: the first statement to write a document or a
|
|
563
|
+
unique index key wins, and the later writer is told at its own statement.
|
|
564
|
+
|
|
565
|
+
- A transaction statement that inserts, updates, replaces, deletes or upserts a
|
|
566
|
+
document, or claims or releases a unique index key, that another open
|
|
567
|
+
transaction has already written fails with `WriteConflict` (112) and
|
|
568
|
+
`TransientTransactionError`. So does a write to a document or key that was
|
|
569
|
+
published after the transaction's snapshot. The failed statement aborts the
|
|
570
|
+
transaction at once and releases everything it wrote: later statements and
|
|
571
|
+
`commitTransaction` report `NoSuchTransaction` (251), also labelled
|
|
572
|
+
`TransientTransactionError`. The transaction that wrote first keeps its
|
|
573
|
+
documents and commits. The driver's `withTransaction` retries the loser on a
|
|
574
|
+
fresh snapshot, so a transaction that writes a hot document and then does more
|
|
575
|
+
work makes progress against clients looping short transactions on it.
|
|
576
|
+
- Reads never conflict: they see the snapshot, not another transaction's
|
|
577
|
+
uncommitted writes. A statement that writes nothing (a filter that matches
|
|
578
|
+
nothing in the snapshot, an update that leaves the document unchanged) does
|
|
579
|
+
not conflict either.
|
|
580
|
+
- A write outside a transaction that meets an open transaction's uncommitted
|
|
581
|
+
write waits until that transaction commits or aborts, then runs on the new
|
|
582
|
+
state: after a commit it applies on top of the transaction's write, and a
|
|
583
|
+
unique key the transaction claimed becomes `DuplicateKey` (11000). The wait
|
|
584
|
+
is bounded by `maxTimeMS`, which ends it with `MaxTimeMSExpired` (50) and
|
|
585
|
+
nothing written, and holds no write worker, so the transaction can always
|
|
586
|
+
finish. Writes to other documents are not delayed. A multi-document write
|
|
587
|
+
outside a transaction stays all-or-nothing: it publishes nothing until it can
|
|
588
|
+
publish every document.
|
|
589
|
+
- After a transaction has been open for 60 seconds, its uncommitted writes no
|
|
590
|
+
longer block others: the next writer that needs one of its documents aborts
|
|
591
|
+
it, and it reports `NoSuchTransaction` (251) on its next statement or commit.
|
|
592
|
+
The limit is fixed at MongoDB's default `transactionLifetimeLimitSeconds` and
|
|
593
|
+
is not configurable. A transaction nobody contends with is not
|
|
594
|
+
aborted by age alone. Ending or expiring the session, and stopping the
|
|
595
|
+
server, release a transaction's writes as well.
|
|
596
|
+
- TTL expiry is not a contending writer. It leaves out the documents an open
|
|
597
|
+
transaction has written, deletes the other expired documents of the index
|
|
598
|
+
and moves past the held ones. A later pass over the index expires those
|
|
599
|
+
still expired once the transaction has ended. It never waits for a transaction and never aborts
|
|
600
|
+
one, whatever its age. MongoDB's TTL monitor instead retries a conflicting delete until
|
|
601
|
+
the transaction ends and leaves aborting it to its transaction reaper.
|
|
602
|
+
- A key already visible in the transaction's snapshot is not a conflict:
|
|
603
|
+
inserting it fails the statement with `DuplicateKey` (11000), as outside a
|
|
604
|
+
transaction. A collection created inside a transaction has no stored identity
|
|
605
|
+
until commit, so two transactions creating the same collection both succeed
|
|
606
|
+
their statements and the second commit reports `WriteConflict` (112), as on
|
|
607
|
+
MongoDB 7.
|
|
608
|
+
|
|
609
|
+
Write intents live in memory only; no transaction survives a restart, so
|
|
610
|
+
there is nothing to recover.
|
|
572
611
|
|
|
573
612
|
Commit/abort outcomes and successful retryable statement results survive file
|
|
574
613
|
storage restart. Duplicate commits replay their outcome; abort after commit
|
package/ts/00_commitinfo_data.ts
CHANGED