zcatsql/CHANGELOG.md
R.Eugenio 8c8646e765 docs: Documentar WAL automático en CHANGELOG
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 12:06:55 +01:00

1.9 KiB

Changelog - zcatsql

Todos los cambios notables en esta librería se documentan aquí.


[Unreleased]

Changed

  • 2026-01-12: WAL mode automático en open()
    • open() ahora configura automáticamente para alta disponibilidad:
      • journal_mode = WAL (lecturas concurrentes durante escrituras)
      • synchronous = NORMAL (balance rendimiento/durabilidad)
      • busy_timeout = 5000ms (reintenta 5s en vez de fallar inmediatamente)
    • Se salta para bases de datos :memory:
    • Nueva función openRaw() para comportamiento legacy sin auto-config
    • Cambio realizado por: Conversación Director
    • Motivo: Incidente 502 en Solo2 por "Database is locked" bajo carga
    • Impacto en proyectos:
      • zsimifactu, menzuri-pay: Recompilar para beneficiarse
      • Backups: Copiar también .db-wal y .db-shm, o usar PRAGMA wal_checkpoint(TRUNCATE)

Added

  • 2026-01-08: Export de módulo para dependientes externos
    • Añadida línea b.modules.put("zcatsql", zcatsql_mod) en build.zig
    • Permite que otros proyectos usen zcatsql como dependencia via build.zig.zon
    • Ejemplo de uso en Solo2 backend (waitlist)
    • Cambio realizado por: Conversación Solo2
    • Motivo: El módulo se creaba internamente pero no se exportaba, impidiendo su uso como dependencia externa

Notas de uso como dependencia

Para usar zcatsql en otro proyecto:

build.zig.zon:

.dependencies = .{
    .zcatsql = .{
        .path = "ruta/a/zcatsql",
    },
},

build.zig:

const zcatsql_dep = b.dependency("zcatsql", .{
    .target = target,
    .optimize = optimize,
});

const root_mod = b.createModule(.{
    .root_source_file = b.path("src/main.zig"),
    .target = target,
    .optimize = optimize,
    .imports = &.{
        .{ .name = "zcatsql", .module = zcatsql_dep.module("zcatsql") },
    },
});

Formato basado en Keep a Changelog