Repository navigation
v1.0.0
1.0.0
Session Store
New PostgreSQL-backed session persistence — durable server-side sessions using your existing Postgres database.
- Upsert-based save — new and existing sessions handled in a single atomic query via
INSERT ... ON CONFLICT DO UPDATE - Expiration-aware load — expired sessions filtered in the WHERE clause, never returned even if GC hasn't run
- Bulk garbage collection — deletes all expired rows in one query, called probabilistically by middleware
postgres.session_store()— returns aSessionStoreto pass tosession.setup()
Thin Driver Layer
Most Postgres-specific logic has moved into the framework. This package is now a thin adapter that plugs pog into the framework's driver-agnostic abstractions.
- Vtable-style query bridge —
vtable_queryandvtable_execsatisfy the framework'sDbPoolinterface by coercing Dynamic handles and converting genericValueparams to pog-specific values postgres.start(name)— readsdatabase.toml, finds the named connection, and starts a pool in one callpostgres.start_cache(pool, name)— wires an existing pool into the framework'sCachePoolvia the database cache backend- Removed modules —
cache/cache,cache/pool,console/*,db/db,db/migrate, and all internal action/command modules now live in the framework
Renames
Pool→DbPoolpool_connectionmodule →db
Breaking Changes
Pooltype renamed toDbPoolpool_connectionmodule renamed todb- Cache module removed — use
postgres.start_cache()which delegates to the framework'sCachePool postgres_gen,postgres_migrate, andpostgres_cache_tablecommands removed — use the framework'sdb_gen,migrate, andmake_cache_tablecommands instead- Config now read from
config/*.tomlvia the framework's unified config system start_sessionreplaced bypostgres.session_store()— returns aSessionStorefor the caller to pass tosession.setup()