DVRecordScope class final
A versioned table with optional history and soft delete.
Every write carries the version it read and is applied with a conditional
update, so a write against a row that has moved is refused rather than
silently replacing the change that moved it. When history is enabled the
entry is written alongside the change, and a change whose entry cannot be
written is undone -- a change log that can miss entries is not a record of
anything. Inside DV.transaction every write registers its own inverse, so
a failure later in the unit of work takes the write and its entry with it.
The part of a table one record table may see: the rows whose column
holds value, such as a tenant-scoped model's dv_tenant.
Every read, write, delete and history lookup is matched on it, and a
write that names a different value is refused. Keys are then unique per
scope rather than per table, which is what lets two tenants each have an
order o1 without either one reading, updating or deleting the other's.
Constructors
- DVRecordScope(String column, Object? value)
-
const
Properties
- column → String
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- value → Object?
-
Bound as a parameter, and compared with
=: a null value matches no row, as SQL has it, rather than every row with no tenant.final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited