autowisp.database.frozen_row module
Class Inheritance Diagram

A dependency-free, picklable snapshot of a database row.
This module intentionally imports nothing from SQLAlchemy (or anything
else heavy), so that FrozenRow can be referenced from the
exception hierarchy without dragging the ORM into it. The companion
autowisp.database.interface.snapshot_row() – which does need
SQLAlchemy – builds a FrozenRow from a live ORM instance.
- class autowisp.database.frozen_row.FrozenRow(table: str, columns: dict)[source]
Bases:
object
Immutable, picklable snapshot of an ORM row’s column values.
Holds the column values of a SQLAlchemy row detached from any session, so it stays usable after the session that produced it is closed and survives pickling across process/host boundaries (where a live ORM instance would not). Column values are reached by attribute (
snapshot.host) or viacolumns.Built from a live instance with
autowisp.database.interface.snapshot_row()(parent side, where the row exists) or directly from a dict (a worker, which only has primitives threaded through its config).This is a general utility – not specific to errors. Any place that needs a durable, picklable copy of a row (related-artifact context, provenance, caching a row past its session) can use it.