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:
@@ -363,6 +363,7 @@ proc skipBlockComment(l: var Lexer) =
|
||||
discard l.advance()
|
||||
return
|
||||
discard l.advance()
|
||||
raise newException(ValueError, "Unclosed block comment at line " & $l.line & ", col " & $l.col)
|
||||
|
||||
proc readString(l: var Lexer, quote: char): string =
|
||||
result = ""
|
||||
@@ -389,6 +390,8 @@ proc readNumber(l: var Lexer, startLine, startCol: int): Token =
|
||||
var isFloat = false
|
||||
while l.pos < l.input.len and (l.input[l.pos] in Digits or l.input[l.pos] == '.'):
|
||||
if l.input[l.pos] == '.':
|
||||
if isFloat:
|
||||
break # second dot ends the number
|
||||
isFloat = true
|
||||
numStr.add(l.input[l.pos])
|
||||
discard l.advance()
|
||||
|
||||
Reference in New Issue
Block a user