nedb-engine 2.2.3__tar.gz → 2.2.5__tar.gz
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.
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/PKG-INFO +1 -1
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/pyproject.toml +1 -1
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/__init__.py +1 -1
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/engine.py +8 -2
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/.gitignore +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/LICENSE +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/README.md +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/client/node/README.md +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/client/python/README.md +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/autoindex.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/backends/__init__.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/backends/redis_backend.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/cascade.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/concurrent.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/crypto.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/index.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/log.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/merkle.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/mongo.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/query.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/redis_compat.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/relations.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/resp2.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/server.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/snapshot.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/sql.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/store.py +0 -0
- {nedb_engine-2.2.3 → nedb_engine-2.2.5}/python/nedb/wrap_redis.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nedb-engine
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.5
|
|
4
4
|
Summary: NEDB — a versioned, self-compressing, time-traveling embedded database (replay-protected, idempotent, relational, searchable) with durable AOF persistence and a server daemon (nedbd).
|
|
5
5
|
Project-URL: Homepage, https://github.com/aiassistsecure/nedb
|
|
6
6
|
Project-URL: Repository, https://github.com/aiassistsecure/nedb
|
|
@@ -10,7 +10,7 @@ build-backend = "hatchling.build"
|
|
|
10
10
|
|
|
11
11
|
[project]
|
|
12
12
|
name = "nedb-engine"
|
|
13
|
-
version = "2.2.
|
|
13
|
+
version = "2.2.5"
|
|
14
14
|
description = "NEDB — a versioned, self-compressing, time-traveling embedded database (replay-protected, idempotent, relational, searchable) with durable AOF persistence and a server daemon (nedbd)."
|
|
15
15
|
readme = "README.md"
|
|
16
16
|
requires-python = ">=3.8"
|
|
@@ -29,7 +29,9 @@ def apply_op(store: MVCCStore, relations: Relations, indexes: Indexes, op: Op,
|
|
|
29
29
|
"""Deterministically fold one op into materialized state."""
|
|
30
30
|
p = op.payload
|
|
31
31
|
if op.op == "put":
|
|
32
|
-
key, coll
|
|
32
|
+
key, coll = p["key"], p["coll"]
|
|
33
|
+
doc = dict(p["doc"]) # copy so we don't mutate the op payload
|
|
34
|
+
doc["_seq"] = op.seq # inject sequence number into every stored doc
|
|
33
35
|
old = store.get(key)
|
|
34
36
|
if old is not None:
|
|
35
37
|
indexes.remove(coll, key, old)
|
|
@@ -657,7 +659,10 @@ class NEDB:
|
|
|
657
659
|
if op.op == "put" and op.payload.get("key") == key_p:
|
|
658
660
|
queue.append(op.seq)
|
|
659
661
|
break
|
|
660
|
-
|
|
662
|
+
# BFS — feed found dep_seqs back into the queue for full
|
|
663
|
+
# transitive traversal (mirrors the backward TRACE frontier loop).
|
|
664
|
+
while queue:
|
|
665
|
+
seq = queue.pop(0)
|
|
661
666
|
for dep_seq in self.cause_map.get(seq, []):
|
|
662
667
|
if dep_seq in visited_seqs_fwd:
|
|
663
668
|
continue
|
|
@@ -669,6 +674,7 @@ class NEDB:
|
|
|
669
674
|
dep_doc = self.store.get(dep_key, as_of)
|
|
670
675
|
if dep_doc is not None:
|
|
671
676
|
out_fwd.append((dep_key, dep_doc))
|
|
677
|
+
queue.append(dep_seq) # continue BFS
|
|
672
678
|
rows = out_fwd
|
|
673
679
|
|
|
674
680
|
if plan.get("limit") is not None:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|