nedb-engine 1.2.1__tar.gz → 1.2.2__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-1.2.1 → nedb_engine-1.2.2}/PKG-INFO +1 -1
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/pyproject.toml +1 -1
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/__init__.py +1 -1
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/engine.py +8 -2
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/.gitignore +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/LICENSE +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/README.md +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/autoindex.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/backends/__init__.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/backends/redis_backend.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/cascade.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/concurrent.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/crypto.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/index.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/log.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/merkle.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/mongo.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/query.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/redis_compat.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/relations.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/resp2.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/server.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/snapshot.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/sql.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/store.py +0 -0
- {nedb_engine-1.2.1 → nedb_engine-1.2.2}/python/nedb/wrap_redis.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nedb-engine
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
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/Eth-Interchained/nedb
|
|
6
6
|
Project-URL: Repository, https://github.com/Eth-Interchained/nedb
|
|
@@ -10,7 +10,7 @@ build-backend = "hatchling.build"
|
|
|
10
10
|
|
|
11
11
|
[project]
|
|
12
12
|
name = "nedb-engine"
|
|
13
|
-
version = "1.2.
|
|
13
|
+
version = "1.2.2"
|
|
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)
|
|
@@ -638,7 +640,10 @@ class NEDB:
|
|
|
638
640
|
if op.op == "put" and op.payload.get("key") == key_p:
|
|
639
641
|
queue.append(op.seq)
|
|
640
642
|
break
|
|
641
|
-
|
|
643
|
+
# BFS — feed found dep_seqs back into the queue for full
|
|
644
|
+
# transitive traversal (mirrors the backward TRACE frontier loop).
|
|
645
|
+
while queue:
|
|
646
|
+
seq = queue.pop(0)
|
|
642
647
|
for dep_seq in self.cause_map.get(seq, []):
|
|
643
648
|
if dep_seq in visited_seqs_fwd:
|
|
644
649
|
continue
|
|
@@ -650,6 +655,7 @@ class NEDB:
|
|
|
650
655
|
dep_doc = self.store.get(dep_key, as_of)
|
|
651
656
|
if dep_doc is not None:
|
|
652
657
|
out_fwd.append((dep_key, dep_doc))
|
|
658
|
+
queue.append(dep_seq) # continue BFS
|
|
653
659
|
rows = out_fwd
|
|
654
660
|
|
|
655
661
|
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
|