Merge remote-tracking branch 'origin/dev' into cody/netwrok_SDK
# Conflicts: # apps/im_app/lib/features/chat/presentation/chat_db_test_view_model.dart # apps/im_app/lib/features/login/presentation/login_view_model.dart 修复逻辑漏洞,性能优化
This commit is contained in:
@@ -23,7 +23,7 @@ class DatabaseRepositoryImpl implements DatabaseRepository {
|
||||
) async {
|
||||
final db = _db;
|
||||
if (db == null) return;
|
||||
await db.into(table).insertOnConflictUpdate(companion);
|
||||
await db.into(table).insert(companion, mode: InsertMode.insertOrReplace);
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -44,7 +44,8 @@ class DatabaseRepositoryImpl implements DatabaseRepository {
|
||||
final db = _db;
|
||||
if (db == null) return;
|
||||
await db.batch(
|
||||
(batch) => batch.insertAllOnConflictUpdate(table, companions),
|
||||
(batch) =>
|
||||
batch.insertAll(table, companions, mode: InsertMode.insertOrReplace),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -106,7 +107,10 @@ class DatabaseRepositoryImpl implements DatabaseRepository {
|
||||
) async {
|
||||
final db = _db;
|
||||
if (db == null) return null;
|
||||
return (db.select(table)..where(filter)..limit(1)).getSingleOrNull();
|
||||
return (db.select(table)
|
||||
..where(filter)
|
||||
..limit(1))
|
||||
.getSingleOrNull();
|
||||
}
|
||||
|
||||
// ── 监听 ─────────────────────────────────────────────────────────────────
|
||||
@@ -135,7 +139,10 @@ class DatabaseRepositoryImpl implements DatabaseRepository {
|
||||
) {
|
||||
final db = _db;
|
||||
if (db == null) return const Stream.empty();
|
||||
return (db.select(table)..where(filter)..limit(1)).watchSingleOrNull();
|
||||
return (db.select(table)
|
||||
..where(filter)
|
||||
..limit(1))
|
||||
.watchSingleOrNull();
|
||||
}
|
||||
|
||||
// ── 原始 SQL ─────────────────────────────────────────────────────────────
|
||||
@@ -148,18 +155,12 @@ class DatabaseRepositoryImpl implements DatabaseRepository {
|
||||
final db = _db;
|
||||
if (db == null) return [];
|
||||
return db
|
||||
.customSelect(
|
||||
sql,
|
||||
variables: args.map((e) => Variable(e)).toList(),
|
||||
)
|
||||
.customSelect(sql, variables: args.map((e) => Variable(e)).toList())
|
||||
.get();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> rawExecute(
|
||||
String sql, [
|
||||
List<Object?> args = const [],
|
||||
]) async {
|
||||
Future<void> rawExecute(String sql, [List<Object?> args = const []]) async {
|
||||
final db = _db;
|
||||
if (db == null) return;
|
||||
await db.customStatement(sql, args);
|
||||
|
||||
Reference in New Issue
Block a user