MssqlBulkWriter<TRow> class
Batched insert, keyed staging update, and quantity decrement.
Separate from MssqlWriteEngine because a multi-row write has a different contract: VALUES vs BCP is a caller choice, OUTPUT order is never trusted, and a failed batch rolls the whole call back by default.
- Annotations
-
- @immutable
Constructors
-
MssqlBulkWriter(MssqlSession session, {required MssqlTableBinding<
TRow> binding, required MssqlDialect dialect, MssqlClock clock = MssqlClock.serverUtc, MssqlChangeHub? changes, List<MssqlCondition> scopes = const <MssqlCondition>[]})
Properties
-
binding
→ MssqlTableBinding<
TRow> -
final
- changes → MssqlChangeHub?
-
final
- clock → MssqlClock
-
final
- dialect → MssqlDialect
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
scopes
→ List<
MssqlCondition> -
The query's resolved scope predicates — tenant, soft delete, any other
global scope — that every row this writer touches has to satisfy.
final
- session → MssqlSession
-
final
Methods
-
createMany(
List< MssqlWriteAssignments> rows, {MssqlCreateManyStrategy strategy = MssqlCreateManyStrategy.insertValues, MssqlBulkOptions bulk = const MssqlBulkOptions(), bool atomic = true, bool returnRows = true}) → Future<MssqlCreateManyResult< TRow> > -
Inserts
rows, batched under SQL Server's ceilings. -
decrementQuantities(
{required String keyColumn, required String quantityColumn, required Iterable< ({num amount, Object key})> requests}) → Future<int> -
Groups
requestsbykeyColumn, refuses non-positive amounts, then oneUPDATE … JOINthat subtracts only when the stored quantity still covers the request. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
updateMany(
List< MssqlKeyedPatch> patches, {int? expectAffected}) → Future<int> -
Staging JOIN update of
patchesby their keys.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited