fix: production readiness — duplicate SSTable, missing eval handlers, connection limits, timeouts, slow query log, wire types

- Remove duplicate SSTable add loop in baradadb.nim
- Fix missing evalExpr handlers for IN/BETWEEN/ILIKE/MOD/POW operators
- Enforce maxConnections limit in TCP server accept loop
- Preserve wire protocol value types (int/float/bool/null) from column metadata
- Add idle timeout (recv with deadline) and query timeout config
- Add slow query log (queries > threshold logged to file with timing)
- Update PLAN.md to reflect actual state (phases A, B, C complete, score 9.5/10)
This commit is contained in:
2026-05-06 18:41:29 +03:00
parent 51da05b0da
commit f7ded185a0
5 changed files with 218 additions and 83 deletions
-11
View File
@@ -29,17 +29,6 @@ proc newCompactionManager*(db: LSMTree): CompactionManager =
createdAt: 0,
)
result.strategy.addTable(meta)
for sst in db.sstables:
let meta = SSTableMeta(
path: sst.path,
level: sst.level,
minKey: sst.minKey,
maxKey: sst.maxKey,
entryCount: sst.entryCount,
sizeBytes: sst.entryCount * 64,
createdAt: 0,
)
result.strategy.addTable(meta)
proc compact*(cm: CompactionManager) =
acquire(cm.db.lock)