use nullable marker

This commit is contained in:
shenlong-tanwen 2025-05-09 22:32:53 +05:30
parent 1977458c79
commit 9c2ac887b9
3 changed files with 22 additions and 21 deletions

View File

@ -12,7 +12,7 @@ class LocalAlbumEntity extends Table with DriftDefaultsMixin {
IntColumn get backupSelection => intEnum<BackupSelection>()(); IntColumn get backupSelection => intEnum<BackupSelection>()();
// Used for mark & sweep // Used for mark & sweep
BoolColumn get marker_ => boolean().withDefault(const Constant(false))(); BoolColumn get marker_ => boolean().nullable()();
@override @override
Set<Column> get primaryKey => {id}; Set<Column> get primaryKey => {id};

View File

@ -14,7 +14,7 @@ typedef $$LocalAlbumEntityTableCreateCompanionBuilder
required String name, required String name,
i0.Value<DateTime> updatedAt, i0.Value<DateTime> updatedAt,
required i2.BackupSelection backupSelection, required i2.BackupSelection backupSelection,
i0.Value<bool> marker_, i0.Value<bool?> marker_,
}); });
typedef $$LocalAlbumEntityTableUpdateCompanionBuilder typedef $$LocalAlbumEntityTableUpdateCompanionBuilder
= i1.LocalAlbumEntityCompanion Function({ = i1.LocalAlbumEntityCompanion Function({
@ -22,7 +22,7 @@ typedef $$LocalAlbumEntityTableUpdateCompanionBuilder
i0.Value<String> name, i0.Value<String> name,
i0.Value<DateTime> updatedAt, i0.Value<DateTime> updatedAt,
i0.Value<i2.BackupSelection> backupSelection, i0.Value<i2.BackupSelection> backupSelection,
i0.Value<bool> marker_, i0.Value<bool?> marker_,
}); });
class $$LocalAlbumEntityTableFilterComposer class $$LocalAlbumEntityTableFilterComposer
@ -139,7 +139,7 @@ class $$LocalAlbumEntityTableTableManager extends i0.RootTableManager<
i0.Value<DateTime> updatedAt = const i0.Value.absent(), i0.Value<DateTime> updatedAt = const i0.Value.absent(),
i0.Value<i2.BackupSelection> backupSelection = i0.Value<i2.BackupSelection> backupSelection =
const i0.Value.absent(), const i0.Value.absent(),
i0.Value<bool> marker_ = const i0.Value.absent(), i0.Value<bool?> marker_ = const i0.Value.absent(),
}) => }) =>
i1.LocalAlbumEntityCompanion( i1.LocalAlbumEntityCompanion(
id: id, id: id,
@ -153,7 +153,7 @@ class $$LocalAlbumEntityTableTableManager extends i0.RootTableManager<
required String name, required String name,
i0.Value<DateTime> updatedAt = const i0.Value.absent(), i0.Value<DateTime> updatedAt = const i0.Value.absent(),
required i2.BackupSelection backupSelection, required i2.BackupSelection backupSelection,
i0.Value<bool> marker_ = const i0.Value.absent(), i0.Value<bool?> marker_ = const i0.Value.absent(),
}) => }) =>
i1.LocalAlbumEntityCompanion.insert( i1.LocalAlbumEntityCompanion.insert(
id: id, id: id,
@ -222,12 +222,11 @@ class $LocalAlbumEntityTable extends i3.LocalAlbumEntity
const i0.VerificationMeta('marker_'); const i0.VerificationMeta('marker_');
@override @override
late final i0.GeneratedColumn<bool> marker_ = i0.GeneratedColumn<bool>( late final i0.GeneratedColumn<bool> marker_ = i0.GeneratedColumn<bool>(
'marker', aliasedName, false, 'marker', aliasedName, true,
type: i0.DriftSqlType.bool, type: i0.DriftSqlType.bool,
requiredDuringInsert: false, requiredDuringInsert: false,
defaultConstraints: defaultConstraints:
i0.GeneratedColumn.constraintIsAlways('CHECK ("marker" IN (0, 1))'), i0.GeneratedColumn.constraintIsAlways('CHECK ("marker" IN (0, 1))'));
defaultValue: const i4.Constant(false));
@override @override
List<i0.GeneratedColumn> get $columns => List<i0.GeneratedColumn> get $columns =>
[id, name, updatedAt, backupSelection, marker_]; [id, name, updatedAt, backupSelection, marker_];
@ -281,7 +280,7 @@ class $LocalAlbumEntityTable extends i3.LocalAlbumEntity
.fromSql(attachedDatabase.typeMapping.read(i0.DriftSqlType.int, .fromSql(attachedDatabase.typeMapping.read(i0.DriftSqlType.int,
data['${effectivePrefix}backup_selection'])!), data['${effectivePrefix}backup_selection'])!),
marker_: attachedDatabase.typeMapping marker_: attachedDatabase.typeMapping
.read(i0.DriftSqlType.bool, data['${effectivePrefix}marker'])!, .read(i0.DriftSqlType.bool, data['${effectivePrefix}marker']),
); );
} }
@ -306,13 +305,13 @@ class LocalAlbumEntityData extends i0.DataClass
final String name; final String name;
final DateTime updatedAt; final DateTime updatedAt;
final i2.BackupSelection backupSelection; final i2.BackupSelection backupSelection;
final bool marker_; final bool? marker_;
const LocalAlbumEntityData( const LocalAlbumEntityData(
{required this.id, {required this.id,
required this.name, required this.name,
required this.updatedAt, required this.updatedAt,
required this.backupSelection, required this.backupSelection,
required this.marker_}); this.marker_});
@override @override
Map<String, i0.Expression> toColumns(bool nullToAbsent) { Map<String, i0.Expression> toColumns(bool nullToAbsent) {
final map = <String, i0.Expression>{}; final map = <String, i0.Expression>{};
@ -324,7 +323,9 @@ class LocalAlbumEntityData extends i0.DataClass
.$LocalAlbumEntityTable.$converterbackupSelection .$LocalAlbumEntityTable.$converterbackupSelection
.toSql(backupSelection)); .toSql(backupSelection));
} }
map['marker'] = i0.Variable<bool>(marker_); if (!nullToAbsent || marker_ != null) {
map['marker'] = i0.Variable<bool>(marker_);
}
return map; return map;
} }
@ -337,7 +338,7 @@ class LocalAlbumEntityData extends i0.DataClass
updatedAt: serializer.fromJson<DateTime>(json['updatedAt']), updatedAt: serializer.fromJson<DateTime>(json['updatedAt']),
backupSelection: i1.$LocalAlbumEntityTable.$converterbackupSelection backupSelection: i1.$LocalAlbumEntityTable.$converterbackupSelection
.fromJson(serializer.fromJson<int>(json['backupSelection'])), .fromJson(serializer.fromJson<int>(json['backupSelection'])),
marker_: serializer.fromJson<bool>(json['marker_']), marker_: serializer.fromJson<bool?>(json['marker_']),
); );
} }
@override @override
@ -350,7 +351,7 @@ class LocalAlbumEntityData extends i0.DataClass
'backupSelection': serializer.toJson<int>(i1 'backupSelection': serializer.toJson<int>(i1
.$LocalAlbumEntityTable.$converterbackupSelection .$LocalAlbumEntityTable.$converterbackupSelection
.toJson(backupSelection)), .toJson(backupSelection)),
'marker_': serializer.toJson<bool>(marker_), 'marker_': serializer.toJson<bool?>(marker_),
}; };
} }
@ -359,13 +360,13 @@ class LocalAlbumEntityData extends i0.DataClass
String? name, String? name,
DateTime? updatedAt, DateTime? updatedAt,
i2.BackupSelection? backupSelection, i2.BackupSelection? backupSelection,
bool? marker_}) => i0.Value<bool?> marker_ = const i0.Value.absent()}) =>
i1.LocalAlbumEntityData( i1.LocalAlbumEntityData(
id: id ?? this.id, id: id ?? this.id,
name: name ?? this.name, name: name ?? this.name,
updatedAt: updatedAt ?? this.updatedAt, updatedAt: updatedAt ?? this.updatedAt,
backupSelection: backupSelection ?? this.backupSelection, backupSelection: backupSelection ?? this.backupSelection,
marker_: marker_ ?? this.marker_, marker_: marker_.present ? marker_.value : this.marker_,
); );
LocalAlbumEntityData copyWithCompanion(i1.LocalAlbumEntityCompanion data) { LocalAlbumEntityData copyWithCompanion(i1.LocalAlbumEntityCompanion data) {
return LocalAlbumEntityData( return LocalAlbumEntityData(
@ -411,7 +412,7 @@ class LocalAlbumEntityCompanion
final i0.Value<String> name; final i0.Value<String> name;
final i0.Value<DateTime> updatedAt; final i0.Value<DateTime> updatedAt;
final i0.Value<i2.BackupSelection> backupSelection; final i0.Value<i2.BackupSelection> backupSelection;
final i0.Value<bool> marker_; final i0.Value<bool?> marker_;
const LocalAlbumEntityCompanion({ const LocalAlbumEntityCompanion({
this.id = const i0.Value.absent(), this.id = const i0.Value.absent(),
this.name = const i0.Value.absent(), this.name = const i0.Value.absent(),
@ -449,7 +450,7 @@ class LocalAlbumEntityCompanion
i0.Value<String>? name, i0.Value<String>? name,
i0.Value<DateTime>? updatedAt, i0.Value<DateTime>? updatedAt,
i0.Value<i2.BackupSelection>? backupSelection, i0.Value<i2.BackupSelection>? backupSelection,
i0.Value<bool>? marker_}) { i0.Value<bool?>? marker_}) {
return i1.LocalAlbumEntityCompanion( return i1.LocalAlbumEntityCompanion(
id: id ?? this.id, id: id ?? this.id,
name: name ?? this.name, name: name ?? this.name,

View File

@ -164,7 +164,7 @@ class DriftLocalAlbumRepository extends DriftDatabaseRepository
name: album.name, name: album.name,
updatedAt: Value(album.updatedAt), updatedAt: Value(album.updatedAt),
backupSelection: album.backupSelection, backupSelection: album.backupSelection,
marker_: const Value(true), marker_: const Value(null),
); );
batch.insert( batch.insert(
@ -190,12 +190,12 @@ class DriftLocalAlbumRepository extends DriftDatabaseRepository
.equalsExp(_db.localAlbumEntity.id), .equalsExp(_db.localAlbumEntity.id),
), ),
]); ]);
subQuery.where(_db.localAlbumEntity.marker_.equals(false)); subQuery.where(_db.localAlbumEntity.marker_.isNotNull());
return localAsset.id.isInQuery(subQuery); return localAsset.id.isInQuery(subQuery);
}); });
} }
await _db.localAlbumEntity.deleteWhere((f) => f.marker_.equals(false)); await _db.localAlbumEntity.deleteWhere((f) => f.marker_.isNotNull());
}); });
} }