# Оставащи бъгове — nim-allographer (BaraDB клиент) + BaraDB сървър > Дата: 2026-05-21 > Поправени в тази сесия: компилационни грешки, `toJson()`, агрегати, `whereIn`/`whereBetween` placeholder-и, `paginate`, transaction cleanup, `insertSql` state. --- ## 🔴 Критични — блокират функционалност ### 1. [СЪРВЪР] SIGSEGV при INSERT в транзакция **Описание:** `BEGIN` работи, но при първи `INSERT` след него сървърът пада с `Illegal storage access. (Attempt to read from nil?)`. **Компонент:** BaraDB сървър — транзакционен engine. **Възпроизвеждане:** ```sql BEGIN; INSERT INTO `users` (`name`) VALUES ('Alice'); -- тук пада ``` **Лог:** ``` [1] Query: BEGIN [1] Query: INSERT INTO `users` (`name`, `email`, `age`) VALUES ('Alice', 'alice@example.com', 30) SIGSEGV: Illegal storage access. ``` **Забележка:** Не е клиентски бъг. Клиентът изпраща коректно; сървърът крашва при обработка. --- ### 2. [СЪРВЪР] Parser error за резервирани думи като колони **Описание:** `CREATE TABLE` с колони на име `label` или `count` хвърля `Expected tkIdent but got tkLabels at line 3`. Вероятно `label` е token тип `tkLabels` и lexer/parser-ът не го разпознава като валиден идентификатор. **Компонент:** BaraDB сървър — lexer/parser. **Възпроизвеждане:** ```sql CREATE TABLE test ( id SERIAL PRIMARY KEY, label VARCHAR(255), -- грешка тук count INTEGER -- и тук ); ``` **Забележка:** Като workaround в клиента може да се използват backtick-ове (`` ` ``), но сървърът трябва да поддържа всякакви имена. --- ## 🟡 Важни — качество и сигурност ### 3. [КЛИЕНТ] SQL injection риск в `formatSql()` **Описание:** Целият query builder използва `formatSql()` който прави **client-side string interpolation** (`?` → стойност). Това е уязвимост при злонамерен input. **Файл:** `clients/nim-allographer/src/allographer/query_builder/models/baradb/baradb_exec.nim`, процедура `formatSql()`. **Проблем:** ```nim proc formatSql*(sql: string, args: seq[JsonNode]): string = result = sql for arg in args: let pos = result.find("?") result = result[0..