651375a156
- JWT: getEffectiveJwtSecret() helper + warning log when not configured - WAL: readEntries() with timestamp filter for PITR - Tracing: core/tracing.nim with span recording + executeQuery integration - 2PC: real TCP RPC via sendDistTxnRpc (host='' = local fallback) - Stress test: updated comment, 10K ops confirmed with internal locks - SSTable metadata comments clarified (offsets patched correctly) - addParticipant has default params (host='', port=0)
2.6 KiB
2.6 KiB
BaraDB — Оставащи задачи
Завършеното е преместено в
PLAN_DONE.md.
Ниски (nice-to-have, не блокират production)
1. Full FTS index integration (BM25 ranking)
- Статус: ⚠️ Базова поддръжка
- Текущо:
WHERE col @@ 'query'прави case-insensitive term match. FTS engine (fts/engine.nim) съществува с BM25, inverted index, tokenization. - Липсва: Пълна интеграция —
CREATE INDEX ... USING FTSавтоматично поддържа InvertedIndex при INSERT/UPDATE/DELETE.@@използва BM25 вместо substring.
2. Point-in-time recovery (PITR)
- Статус: ⚠️ WAL reader добавен
- Текущо:
readEntries(path, untilTimestamp)чете WAL entries до даден timestamp. Backup/restore чрез tar.gz snapshot работи. - Липсва:
RECOVER TO TIMESTAMP '...'команда, която прилага WAL entries до timestamp.
3. OpenTelemetry tracing
- Статус: ⚠️ Базов tracer
- Текущо:
core/tracing.nim— span recording, enable/disable, JSON export.executeQueryсъздава span за всяка заявка. - Липсва: OTLP/gRPC export, integration с external collector.
Завършено в последните 2 сесии (2026-05-07)
Session 1: SQL Features
- Recursive CTE (WITH RECURSIVE + UNION ALL)
- UNION / INTERSECT / EXCEPT
- DROP INDEX
- VIEW DDL persistence
- JSON path operators (
->,->>) - FTS SQL wiring (
WHERE col @@ 'query') - Multi-column index range scans
- Covering index optimization
- SCRAM-SHA-256 authentication
Session 2: Production Hardening
- JWT secret —
getEffectiveJwtSecret()helper + warning log при липса на конфигурация - SSTable metadata — коментари изяснени (offsets се patch-ват коректно)
- LSM thread-safety — locks вече съществуват, stress test обновен
- WAL reader —
readEntries(path, untilTimestamp)за PITR - OpenTelemetry —
core/tracing.nimс span recording,executeQuerytracing - Distributed 2PC — реален TCP RPC вместо simulated (host="" → local fallback)
addParticipantима default параметри (host="", port=0)
Изрично НЕ се прави
| Задача | Причина |
|---|---|
| Partitioning | Сложно, малки БД не се нуждаят |
| Kubernetes Helm | Docker Compose е достатъчен |
279 теста — 0 failure-а.