fix: deadlock detector, graph/query/lexer бъгове
Поправени проблеми: - Deadlock detector: cycle reconstruction вече проверява пълен цикъл - Graph cypher: executeCypher acquire-ва lock при четене - Graph engine: loadFromFile acquire-ва lock при зареждане - Graph engine: lock поле е exported за външен достъп - Query: parseRowData поддържа escape-ване на , и = в стойности - Query: execUpdateRow escape-ва стойности при сериализация - Lexer: readNumber спира при втора точка (1.2.3 вече не е валиден float) - Lexer: skipBlockComment хвърля ValueError при незатворен коментар 292 теста, 0 failure-а.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
## Cypher-like Graph Query Extension for BaraQL
|
||||
import std/tables
|
||||
import std/strutils
|
||||
import std/locks
|
||||
import engine
|
||||
|
||||
type
|
||||
@@ -179,6 +180,9 @@ proc executeCypher*(g: Graph, query: CypherQuery): CypherResult =
|
||||
if query.pattern.nodes.len == 0:
|
||||
return
|
||||
|
||||
acquire(g.lock)
|
||||
defer: release(g.lock)
|
||||
|
||||
# Basic MATCH execution
|
||||
if query.kind == "MATCH":
|
||||
# For each node matching the pattern, collect results
|
||||
|
||||
Reference in New Issue
Block a user