upsertRow method
Future<QueryLogEntry?>
upsertRow(
- DatabaseSession session,
- QueryLogEntry row, {
- required ColumnSelections<
QueryLogEntryTable> conflictColumns, - ColumnSelections<
QueryLogEntryTable> ? updateColumns, - WhereExpressionBuilder<
QueryLogEntryTable> ? updateWhere, - Transaction? transaction,
Upserts a single QueryLogEntry and returns the resulting row.
If the row conflicts on the given conflictColumns, the existing row is
updated. Otherwise, a new row is inserted.
If updateColumns is provided, only those columns will be updated on
conflict. If null, all non-conflict, non-id columns are updated.
If updateWhere is provided, the update only applies when the existing
row matches the expression. Returns null if no row was affected — for
example when updateWhere does not match the conflicting row.
The returned QueryLogEntry will have its id field set.
Implementation
Future<QueryLogEntry?> upsertRow(
_i1.DatabaseSession session,
QueryLogEntry row, {
required _i1.ColumnSelections<QueryLogEntryTable> conflictColumns,
_i1.ColumnSelections<QueryLogEntryTable>? updateColumns,
_i1.WhereExpressionBuilder<QueryLogEntryTable>? updateWhere,
_i1.Transaction? transaction,
}) async {
return session.db.upsertRow<QueryLogEntry>(
row,
conflictColumns: conflictColumns(QueryLogEntry.t),
updateColumns: updateColumns?.call(QueryLogEntry.t),
updateWhere: updateWhere?.call(QueryLogEntry.t),
transaction: transaction,
);
}