fix: критични бъгове в storage, MVCC, auth, Raft, query executor

Поправени проблеми:
- MVCC: aborted транзакции вече не стават видими (добавено abortedTxns множество)
- LSM-Tree: поправена загуба на данни при immutable memtable overwrite
- LSM-Tree: поправена SSTable search order (сортиране по id вместо minKey)
- WAL: sync()/close() вече извикват posix.fsync()
- Auth: simpleHash (djb2) заменен с HMAC-SHA256
- Recovery: summary() вече не мутира базата данни
- Raft: поправена majority calculation за четен брой нодове
- Query: EXISTS subqueries вече изпълняват подзаявката
- Nimble: поправен build (-d:ssl) и bench task

Добавен BUG_AUDIT.md с пълен доклад и план за подобрения.

292 теста, 0 failure-а.
This commit is contained in:
2026-05-12 22:45:50 +03:00
parent 3396ba4d63
commit 131541a0e5
10 changed files with 288 additions and 26 deletions
+1 -3
View File
@@ -7,8 +7,6 @@ srcDir = "src"
bin = @["baradadb"]
binDir = "build"
switch("define", "ssl")
# Dependencies
requires "nim >= 2.2.0"
requires "https://github.com/katehonz/hunos >= 1.2.0"
@@ -26,4 +24,4 @@ task test, "Run all tests":
exec "nim c --path:src -d:ssl -r tests/test_all.nim"
task bench, "Run benchmarks":
exec "nim c --path:src -d:ssl -d:release -r benchmarks/bench_storage.nim"
exec "nim c --path:src -d:ssl -d:release -r benchmarks/bench_all.nim"