buildUpdateStatement method

UpdateStatement<$Table, $Dataclass> buildUpdateStatement()

Build an update statement based on the manager state

Implementation

UpdateStatement<$Table, $Dataclass> buildUpdateStatement() {
  final UpdateStatement<$Table, $Dataclass> updateStatement;
  if (joinBuilders.isEmpty) {
    updateStatement = db.update(_tableAsTableInfo);
    if (filter != null) {
      updateStatement.where((_) => filter!);
    }
  } else {
    updateStatement = db.update(_tableAsTableInfo);
    for (var col in _tableAsTableInfo.primaryKey) {
      final subquery = buildSelectStatement(targetColumns: [col]);
      updateStatement.where((tbl) => col.isInQuery(subquery));
    }
  }
  return updateStatement;
}