fix+refactor: soft keywords as identifiers, full test wiring, ORC crash docs

- parser: clause keywords (header, format, status, user, csv, ...) now work
  as identifiers everywhere; IMPORT/EXPORT accept FORMAT csv/HEADER true
- nimble test + CI run all 13 test suites (650 checks green)
- ExecutionContext.registry is now {.cursor.} (breaks registry<->ctx cycle)
- ORC crash reproduced and bisected (tests/orc_repro.py); ARC stays the MM
This commit is contained in:
2026-07-30 13:11:28 +03:00
parent ed5a71913c
commit 2d09edd9f7
9 changed files with 952 additions and 94 deletions
+8 -3
View File
@@ -2,7 +2,12 @@
--threads:on
--path:"src"
# ARC: ORC cycle collector crashes under async wire-protocol load
# (markGray/trace SIGSEGV after ~20 sequential INSERTs). ARC is stable
# for the TCP server + HTTP worker mix. Prefer breaking cycles over
# re-enabling ORC without a reproducer.
# (markGray/trace SIGSEGV, triggered from core/server.nim handleClient).
# Still reproducible as of 2026-07-30 (Nim 2.2.10) — reproducer:
# tests/orc_repro.py. Bisected: 200 pings + 200 SELECTs over TCP are
# fine; the server dies somewhere between 20 and 500 sequential INSERTs.
# Three root-cause attempts failed (callback cycle breaks in ed5a719,
# {.cursor.} on ExecutionContext.registry, guarding ctx.onChange) — this
# points at a deep ORC+async issue (possibly upstream Nim), not a single
# app-level cycle. ARC is stable for the TCP server + HTTP worker mix.
--mm:arc