compileIncrementEach method
Compile an increment each statement.
Implementation
@override
String compileIncrementEach(
Map<String, dynamic> query,
Map<String, int> columns,
Map<String, dynamic> extras,
) {
final table = wrapTable(query['table']);
final wheres =
query['wheres'] != null ? compileWheres(query['wheres']) : '';
final columnUpdates = columns.entries.map((e) {
final wrapped = wrap(e.key);
final operator = e.value >= 0 ? '+' : '-';
return '$wrapped = $wrapped $operator ${e.value.abs()}';
}).toList();
final extraUpdates = extras.keys.map((key) {
return '${wrap(key)} = ?';
}).toList();
final allUpdates = [...columnUpdates, ...extraUpdates].join(', ');
return 'UPDATE $table SET $allUpdates $wheres'.trim();
}