feat: clean build + crossmodal.tla + TLA+ symmetry (v1.0.0-prep)
Build warnings cleanup (0 warnings): - Suppress threadpool deprecation warning (baradadb.nim) - Remove unused 'os' import (logging.nim) - Fix ImplicitDefaultValue for newNode params (ast.nim) - Add explicit cstring cast for posix.open (wal.nim) - Fix HoleEnumConv for MsgKind parsing (server.nim) TLA+ Formal Verification: - Add symmetry reduction (Permutations) to all 9 existing specs - Add SYMMETRY directive to all .cfg files - New crossmodal.tla: cross-modal consistency spec * MetadataVectorConsistency, HybridResultValid * CommittedAtomicity, AbortedAtomicity, TxnStateValid - New models/crossmodal.cfg Tests: - Add Cross-Modal TLA+ Faithfulness tests (4 tests) Docs: - Update PLAN.md and BUG_AUDIT.md with completed tasks
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
## BaraDB Structured JSON Logger
|
||||
import std/json
|
||||
import std/times
|
||||
import std/os
|
||||
|
||||
type
|
||||
LogLevel* = enum
|
||||
|
||||
@@ -59,7 +59,10 @@ proc readUint32BE(data: string, pos: int): uint32 =
|
||||
proc parseHeader(data: string): (bool, MessageHeader) =
|
||||
if data.len < 12:
|
||||
return (false, MessageHeader())
|
||||
let kind = MsgKind(readUint32BE(data, 0))
|
||||
let rawKind = readUint32BE(data, 0)
|
||||
{.push warning[HoleEnumConv]: off.}
|
||||
let kind = MsgKind(rawKind)
|
||||
{.pop.}
|
||||
let length = readUint32BE(data, 4)
|
||||
let requestId = readUint32BE(data, 8)
|
||||
return (true, MessageHeader(kind: kind, length: length, requestId: requestId))
|
||||
|
||||
@@ -459,7 +459,7 @@ type
|
||||
of nkStatementList:
|
||||
stmts*: seq[Node]
|
||||
|
||||
proc newNode*(kind: NodeKind, line, col: int = 0): Node =
|
||||
proc newNode*(kind: NodeKind, line: int = 0, col: int = 0): Node =
|
||||
result = Node(kind: kind, line: line, col: col)
|
||||
case kind
|
||||
of nkSelect: result.selResult = @[]
|
||||
|
||||
@@ -78,14 +78,14 @@ proc writeCommit*(wal: var WriteAheadLog, timestamp: uint64) =
|
||||
|
||||
proc sync*(wal: var WriteAheadLog) =
|
||||
wal.stream.flush()
|
||||
let fd = posix.open(wal.path, O_RDONLY)
|
||||
let fd = posix.open(cstring(wal.path), O_RDONLY)
|
||||
if fd != -1:
|
||||
discard posix.fsync(fd)
|
||||
discard posix.close(fd)
|
||||
|
||||
proc close*(wal: var WriteAheadLog) =
|
||||
wal.stream.flush()
|
||||
let fd = posix.open(wal.path, O_RDONLY)
|
||||
let fd = posix.open(cstring(wal.path), O_RDONLY)
|
||||
if fd != -1:
|
||||
discard posix.fsync(fd)
|
||||
discard posix.close(fd)
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
## BaraDB — Multimodal Database Engine
|
||||
## Main entry point
|
||||
import std/asyncdispatch
|
||||
{.push warning[Deprecated]: off.}
|
||||
import std/threadpool
|
||||
{.pop.}
|
||||
import std/locks
|
||||
import std/os
|
||||
import std/strutils
|
||||
|
||||
Reference in New Issue
Block a user