createGraphValues method

Future<TRow> createGraphValues(
  1. MssqlGraphInsert<TRow> graph, {
  2. MssqlCycleWrite cycle = MssqlCycleWrite.refuse,
})

Explicit graph insert of graph in one transaction.

Only listed relations are written. There is no cascade delete and no silent overwrite of existing counterparts.

Scope predicates are not applied. A graph insert has no WHERE to filter, and the only read — the readback of the row just written — could hide that row rather than protect anything. A tenant column on a new row must be written, so it belongs in the Create values.

Implementation

Future<TRow> createGraphValues(
  MssqlGraphInsert<TRow> graph, {
  MssqlCycleWrite cycle = MssqlCycleWrite.refuse,
}) async {
  final dialect = await _resolvedDialect();
  return MssqlGraphWriter<TRow>(
    session,
    binding: binding,
    dialect: dialect,
    clock: context.clock,
    changes: context.changes,
  ).createGraph(graph, cycle: cycle);
}