diff --git a/packages/core/lib/managed_auth.dart b/packages/core/lib/managed_auth.dart index 6ca9a647e..8d5e6b3a4 100644 --- a/packages/core/lib/managed_auth.dart +++ b/packages/core/lib/managed_auth.dart @@ -48,7 +48,7 @@ class ManagedAuthToken extends ManagedObject<_ManagedAuthToken> /// Instance from an [AuthToken]. ManagedAuthToken.fromToken(AuthToken t) : super() { final tokenResourceOwner = - entity.relationships!["resourceOwner"]!.destinationEntity.instanceOf(); + entity.relationships["resourceOwner"]!.destinationEntity.instanceOf(); tokenResourceOwner["id"] = t.resourceOwnerIdentifier; this ..accessToken = t.accessToken @@ -64,7 +64,7 @@ class ManagedAuthToken extends ManagedObject<_ManagedAuthToken> /// Instance from an [AuthCode]. ManagedAuthToken.fromCode(AuthCode code) : super() { final tokenResourceOwner = - entity.relationships!["resourceOwner"]!.destinationEntity.instanceOf(); + entity.relationships["resourceOwner"]!.destinationEntity.instanceOf(); tokenResourceOwner["id"] = code.resourceOwnerIdentifier; this diff --git a/packages/core/lib/src/db/managed/entity.dart b/packages/core/lib/src/db/managed/entity.dart index cd502cf7f..e3f0f402f 100644 --- a/packages/core/lib/src/db/managed/entity.dart +++ b/packages/core/lib/src/db/managed/entity.dart @@ -58,7 +58,7 @@ class ManagedEntity implements APIComponentDocumenter { /// transient property declared in the instance type. /// The keys are the case-sensitive name of the attribute. Values that represent a relationship to another object /// are not stored in [attributes]. - late Map attributes; + late Map attributes; /// All relationship values of this entity. /// @@ -68,7 +68,7 @@ class ManagedEntity implements APIComponentDocumenter { /// for [ManagedRelationshipType.hasMany] or [ManagedRelationshipType.hasOne] properties, as those values are derived by the foreign key reference /// on the inverse relationship property. /// Keys are the case-sensitive name of the relationship. - Map? relationships; + late Map relationships; /// All properties (relationships and attributes) of this entity. /// @@ -76,9 +76,7 @@ class ManagedEntity implements APIComponentDocumenter { /// or [ManagedRelationshipDescription]. This is the concatenation of [attributes] and [relationships]. Map get properties { final all = Map.from(attributes); - if (relationships != null) { - all.addAll(relationships!); - } + all.addAll(relationships); return all; } @@ -117,7 +115,7 @@ class ManagedEntity implements APIComponentDocumenter { ); elements.addAll( - relationships!.values + relationships.values .where( (prop) => prop!.isIncludedInDefaultResultSet && @@ -213,7 +211,7 @@ class ManagedEntity implements APIComponentDocumenter { final propertyName = elements.first!.name; final attribute = attributes[propertyName]; if (attribute == null) { - if (relationships!.containsKey(propertyName)) { + if (relationships.containsKey(propertyName)) { throw ArgumentError( "Invalid property selection. Property '$propertyName' on " "'$name' " @@ -258,7 +256,7 @@ class ManagedEntity implements APIComponentDocumenter { } final propertyName = elements.first!.name; - final desc = relationships![propertyName]; + final desc = relationships[propertyName]; if (desc == null) { throw ArgumentError( "Invalid property selection. Relationship named '$propertyName' on table '$tableName' is not a relationship.", @@ -344,7 +342,7 @@ class ManagedEntity implements APIComponentDocumenter { }); buf.writeln("Relationships:"); - relationships!.forEach((name, rel) { + relationships.forEach((name, rel) { buf.writeln("\t$rel"); }); diff --git a/packages/core/lib/src/db/managed/property_description.dart b/packages/core/lib/src/db/managed/property_description.dart index 4c23d5baf..325470348 100644 --- a/packages/core/lib/src/db/managed/property_description.dart +++ b/packages/core/lib/src/db/managed/property_description.dart @@ -460,11 +460,11 @@ class ManagedRelationshipDescription extends ManagedPropertyDescription { final ManagedRelationshipType relationshipType; /// The name of the [ManagedRelationshipDescription] on [destinationEntity] that represents the inverse of this relationship. - final String? inverseKey; + final String inverseKey; /// The [ManagedRelationshipDescription] on [destinationEntity] that represents the inverse of this relationship. ManagedRelationshipDescription? get inverse => - destinationEntity.relationships![inverseKey]; + destinationEntity.relationships[inverseKey]; /// Whether or not this relationship is on the belonging side. bool get isBelongsTo => relationshipType == ManagedRelationshipType.belongsTo; diff --git a/packages/core/lib/src/db/managed/set.dart b/packages/core/lib/src/db/managed/set.dart index d1d55e3a1..21cdea9ab 100644 --- a/packages/core/lib/src/db/managed/set.dart +++ b/packages/core/lib/src/db/managed/set.dart @@ -36,7 +36,7 @@ class ManagedSet extends Object _innerValues = List.from(items); } - late List _innerValues; + late final List _innerValues; /// The number of elements in this set. @override diff --git a/packages/core/lib/src/db/query/mixin.dart b/packages/core/lib/src/db/query/mixin.dart index 1acbb1139..49670723f 100644 --- a/packages/core/lib/src/db/query/mixin.dart +++ b/packages/core/lib/src/db/query/mixin.dart @@ -29,8 +29,8 @@ mixin QueryMixin QuerySortPredicate? sortPredicate; QueryPage? pageDescriptor; - List? sortDescriptors; - Map? subQueries; + final List sortDescriptors = []; + final Map subQueries = {}; QueryMixin? _parentQuery; List> expressions = []; @@ -113,8 +113,7 @@ mixin QueryMixin ) { final attribute = entity.identifyAttribute(propertyIdentifier); - sortDescriptors ??= []; - sortDescriptors!.add(QuerySortDescriptor(attribute.name, order)); + sortDescriptors.add(QuerySortDescriptor(attribute.name, order)); } @override @@ -156,7 +155,7 @@ mixin QueryMixin Query _createSubquery( ManagedRelationshipDescription fromRelationship, ) { - if (subQueries?.containsKey(fromRelationship) ?? false) { + if (subQueries.containsKey(fromRelationship)) { throw StateError( "Invalid query. Cannot join same property more than once.", ); @@ -165,8 +164,8 @@ mixin QueryMixin // Ensure we don't cyclically join var parent = _parentQuery; while (parent != null) { - if (parent.subQueries!.containsKey(fromRelationship.inverse)) { - final validJoins = fromRelationship.entity.relationships!.values + if (parent.subQueries.containsKey(fromRelationship.inverse)) { + final validJoins = fromRelationship.entity.relationships.values .where((r) => !identical(r, fromRelationship)) .map((r) => "'${r!.name}'") .join(", "); @@ -183,11 +182,9 @@ mixin QueryMixin parent = parent._parentQuery; } - subQueries ??= {}; - final subquery = Query(context); (subquery as QueryMixin)._parentQuery = this; - subQueries![fromRelationship] = subquery; + subQueries[fromRelationship] = subquery; return subquery; } diff --git a/packages/core/lib/src/db/query/predicate.dart b/packages/core/lib/src/db/query/predicate.dart index 3bd6b1af3..3929c116e 100644 --- a/packages/core/lib/src/db/query/predicate.dart +++ b/packages/core/lib/src/db/query/predicate.dart @@ -36,20 +36,15 @@ class QueryPredicate { /// /// If [predicates] is null or empty, an empty predicate is returned. If [predicates] contains only /// one predicate, that predicate is returned. - factory QueryPredicate.and(Iterable? predicates) { - final predicateList = predicates - ?.where((p) => p?.format != null && p!.format.isNotEmpty) - .toList(); - if (predicateList == null) { - return QueryPredicate.empty(); - } + factory QueryPredicate.and(Iterable predicates) { + final predicateList = predicates.where((p) => p.format.isNotEmpty).toList(); if (predicateList.isEmpty) { return QueryPredicate.empty(); } if (predicateList.length == 1) { - return predicateList.first!; + return predicateList.first; } // If we have duplicate keys anywhere, we need to disambiguate them. @@ -57,7 +52,7 @@ class QueryPredicate { final allFormatStrings = []; final valueMap = {}; for (final predicate in predicateList) { - final duplicateKeys = predicate!.parameters.keys + final duplicateKeys = predicate.parameters.keys .where((k) => valueMap.keys.contains(k)) .toList(); diff --git a/packages/core/lib/src/db/query/query.dart b/packages/core/lib/src/db/query/query.dart index 3cffcf6d1..acb7dbfc6 100644 --- a/packages/core/lib/src/db/query/query.dart +++ b/packages/core/lib/src/db/query/query.dart @@ -412,7 +412,7 @@ abstract class Query { /// var q = Query() /// ..where.id = whereEqualTo(1); /// var deletedCount = await q.delete(); - Future delete(); + Future delete(); } /// Order value for [Query.pageBy] and [Query.sortBy]. diff --git a/packages/core/lib/src/runtime/orm_impl.dart b/packages/core/lib/src/runtime/orm_impl.dart index 73b2ef9a2..76a3af7f7 100644 --- a/packages/core/lib/src/runtime/orm_impl.dart +++ b/packages/core/lib/src/runtime/orm_impl.dart @@ -438,8 +438,8 @@ return entity.symbolMap[Symbol(symbolName)]; final className = MirrorSystem.getName(instanceType.simpleName); final originalFileUri = instanceType.location!.sourceUri.toString(); final relationshipsStr = (await Future.wait( - entity.relationships!.keys.map((name) async { - return "'$name': ${await _getRelationshipInstantiator(ctx, entity.relationships![name]!, importUris: importUris)}"; + entity.relationships.keys.map((name) async { + return "'$name': ${await _getRelationshipInstantiator(ctx, entity.relationships[name]!, importUris: importUris)}"; }), )) .join(", "); @@ -453,7 +453,7 @@ return entity.symbolMap[Symbol(symbolName)]; // Need to import any relationships types and metadata types // todo: limit import of importUris to only show symbols required to replicate metadata - final directives = entity.relationships!.values.map((r) { + final directives = entity.relationships.values.map((r) { var mirror = reflectType(r!.declaredType!); if (mirror.isSubtypeOf(reflectType(ManagedSet))) { mirror = mirror.typeArguments.first; @@ -487,7 +487,7 @@ class ManagedEntityRuntimeImpl extends ManagedEntityRuntime { _entity.relationships = {$relationshipsStr}; _entity.validators = []; _entity.validators.addAll(_entity.attributes.values.expand((a) => a!.validators)); - _entity.validators.addAll(_entity.relationships?.values.expand((a) => a!.validators) ?? []); + _entity.validators.addAll(_entity.relationships.values.expand((a) => a!.validators)); entity.uniquePropertySet = $uniqueStr; } diff --git a/packages/core/test/db/data_model_test.dart b/packages/core/test/db/data_model_test.dart index 83c7f9b77..3611539e6 100644 --- a/packages/core/test/db/data_model_test.dart +++ b/packages/core/test/db/data_model_test.dart @@ -59,25 +59,25 @@ void main() { expect(entity.properties[key] == attr, true); }); - entity.relationships!.forEach((key, attr) { + entity.relationships.forEach((key, attr) { expect(entity.properties[key] == attr, true); }); } }); test("Relationships aren't attributes and vice versa", () { - expect(dataModel.entityForType(User).relationships!["id"], isNull); + expect(dataModel.entityForType(User).relationships["id"], isNull); expect(dataModel.entityForType(User).attributes["id"], isNotNull); expect(dataModel.entityForType(User).attributes["manager"], isNull); expect( - dataModel.entityForType(User).relationships!["manager"], + dataModel.entityForType(User).relationships["manager"], isNotNull, ); expect(dataModel.entityForType(Manager).attributes["worker"], isNull); expect( - dataModel.entityForType(Manager).relationships!["worker"], + dataModel.entityForType(Manager).relationships["worker"], isNotNull, ); }); @@ -138,12 +138,12 @@ void main() { test("Relationships have appropriate values set", () { var entity = dataModel.entityForType(Item); - var relDesc = entity.relationships!["user"]!; + var relDesc = entity.relationships["user"]!; expect(relDesc.isNullable, false); expect(relDesc.inverseKey, "items"); expect( relDesc.inverse == - dataModel.entityForType(User).relationships![relDesc.inverseKey], + dataModel.entityForType(User).relationships[relDesc.inverseKey], true, ); expect(relDesc.deleteRule, DeleteRule.cascade); @@ -151,12 +151,12 @@ void main() { expect(relDesc.relationshipType, ManagedRelationshipType.belongsTo); entity = dataModel.entityForType(Manager); - relDesc = entity.relationships!["worker"]!; + relDesc = entity.relationships["worker"]!; expect(relDesc.isNullable, true); expect(relDesc.inverseKey, "manager"); expect( relDesc.inverse == - dataModel.entityForType(User).relationships![relDesc.inverseKey], + dataModel.entityForType(User).relationships[relDesc.inverseKey], true, ); expect(relDesc.deleteRule, DeleteRule.nullify); @@ -164,11 +164,11 @@ void main() { expect(relDesc.relationshipType, ManagedRelationshipType.belongsTo); entity = dataModel.entityForType(User); - relDesc = entity.relationships!["manager"]!; + relDesc = entity.relationships["manager"]!; expect(relDesc.inverseKey, "worker"); expect( relDesc.inverse == - dataModel.entityForType(Manager).relationships![relDesc.inverseKey], + dataModel.entityForType(Manager).relationships[relDesc.inverseKey], true, ); expect( @@ -178,7 +178,7 @@ void main() { expect(relDesc.relationshipType, ManagedRelationshipType.hasOne); expect( - entity.relationships!["items"]!.relationshipType, + entity.relationships["items"]!.relationshipType, ManagedRelationshipType.hasMany, ); }); @@ -219,66 +219,66 @@ void main() { expect( dm .entityForType(CyclicLeft) - .relationships!["leftRef"]! + .relationships["leftRef"]! .destinationEntity .name, "CyclicRight", ); expect( - dm.entityForType(CyclicLeft).relationships!["leftRef"]!.inverse!.name, + dm.entityForType(CyclicLeft).relationships["leftRef"]!.inverse!.name, "from", ); expect( - dm.entityForType(CyclicLeft).relationships!["leftRef"]!.isBelongsTo, + dm.entityForType(CyclicLeft).relationships["leftRef"]!.isBelongsTo, true, ); expect( dm .entityForType(CyclicLeft) - .relationships!["from"]! + .relationships["from"]! .destinationEntity .name, "CyclicRight", ); expect( - dm.entityForType(CyclicLeft).relationships!["from"]!.inverse!.name, + dm.entityForType(CyclicLeft).relationships["from"]!.inverse!.name, "rightRef", ); expect( - dm.entityForType(CyclicLeft).relationships!["from"]!.isBelongsTo, + dm.entityForType(CyclicLeft).relationships["from"]!.isBelongsTo, false, ); expect( dm .entityForType(CyclicRight) - .relationships!["rightRef"]! + .relationships["rightRef"]! .destinationEntity .name, "CyclicLeft", ); expect( - dm.entityForType(CyclicRight).relationships!["rightRef"]!.inverse!.name, + dm.entityForType(CyclicRight).relationships["rightRef"]!.inverse!.name, "from", ); expect( - dm.entityForType(CyclicRight).relationships!["rightRef"]!.isBelongsTo, + dm.entityForType(CyclicRight).relationships["rightRef"]!.isBelongsTo, true, ); expect( dm .entityForType(CyclicRight) - .relationships!["from"]! + .relationships["from"]! .destinationEntity .name, "CyclicLeft", ); expect( - dm.entityForType(CyclicRight).relationships!["from"]!.inverse!.name, + dm.entityForType(CyclicRight).relationships["from"]!.inverse!.name, "leftRef", ); expect( - dm.entityForType(CyclicRight).relationships!["from"]!.isBelongsTo, + dm.entityForType(CyclicRight).relationships["from"]!.isBelongsTo, false, ); }); @@ -288,7 +288,7 @@ void main() { expect( dm .entityForType(SelfReferential) - .relationships!["parent"]! + .relationships["parent"]! .destinationEntity .name, "SelfReferential", @@ -296,33 +296,29 @@ void main() { expect( dm .entityForType(SelfReferential) - .relationships!["parent"]! + .relationships["parent"]! .inverse! .name, "child", ); expect( - dm.entityForType(SelfReferential).relationships!["parent"]!.isBelongsTo, + dm.entityForType(SelfReferential).relationships["parent"]!.isBelongsTo, true, ); expect( dm .entityForType(SelfReferential) - .relationships!["child"]! + .relationships["child"]! .destinationEntity .name, "SelfReferential", ); expect( - dm - .entityForType(SelfReferential) - .relationships!["child"]! - .inverse! - .name, + dm.entityForType(SelfReferential).relationships["child"]!.inverse!.name, "parent", ); expect( - dm.entityForType(SelfReferential).relationships!["child"]!.isBelongsTo, + dm.entityForType(SelfReferential).relationships["child"]!.isBelongsTo, false, ); }); @@ -338,7 +334,7 @@ void main() { final isManyOf = model .entityForType(DoubleRelationshipForeignKeyModel) - .relationships!["isManyOf"]!; + .relationships["isManyOf"]!; expect(isManyOf.inverse!.name, "hasManyOf"); expect( isManyOf.destinationEntity.tableName, @@ -347,7 +343,7 @@ void main() { final isOneOf = model .entityForType(DoubleRelationshipForeignKeyModel) - .relationships!["isOneOf"]!; + .relationships["isOneOf"]!; expect(isOneOf.inverse!.name, "hasOneOf"); expect( isOneOf.destinationEntity.tableName, @@ -366,7 +362,7 @@ void main() { final partial = model .entityForType(DoubleRelationshipForeignKeyModel) - .relationships!["partial"]!; + .relationships["partial"]!; expect( partial.destinationEntity.tableName, model.entityForType(SomeOtherRelationshipModel).tableName, @@ -391,17 +387,17 @@ void main() { expect(totalEntity.attributes["field"]!.isIndexed, true); expect( totalEntity - .relationships!["hasManyRelationship"]!.destinationEntity.tableName, + .relationships["hasManyRelationship"]!.destinationEntity.tableName, referenceEntity.tableName, ); expect( - totalEntity.relationships!["hasManyRelationship"]!.relationshipType, + totalEntity.relationships["hasManyRelationship"]!.relationshipType, ManagedRelationshipType.hasMany, ); expect( referenceEntity - .relationships!["foreignKeyColumn"]!.destinationEntity.tableName, + .relationships["foreignKeyColumn"]!.destinationEntity.tableName, totalEntity.tableName, ); }); @@ -470,12 +466,12 @@ void main() { final joinEntity = model.entityForType(JoinMany); expect( - joinEntity.relationships!["left"]!.destinationEntity.instanceType == + joinEntity.relationships["left"]!.destinationEntity.instanceType == LeftMany, true, ); expect( - joinEntity.relationships!["right"]!.destinationEntity.instanceType == + joinEntity.relationships["right"]!.destinationEntity.instanceType == RightMany, true, ); diff --git a/packages/core/test/db/predicate_test.dart b/packages/core/test/db/predicate_test.dart index dff7a1a79..b97d63b99 100644 --- a/packages/core/test/db/predicate_test.dart +++ b/packages/core/test/db/predicate_test.dart @@ -25,10 +25,11 @@ void main() { expect(QueryPredicate.and([]).parameters, {}); }); - test("If null, return empty predicate", () { - expect(QueryPredicate.and(null).format, ""); - expect(QueryPredicate.and(null).parameters, {}); - }); + // No Longer allowing null values + // test("If null, return empty predicate", () { + // expect(QueryPredicate.and(null).format, ""); + // expect(QueryPredicate.and(null).parameters, {}); + // }); test("If only one element in list, return that element", () { final valid = QueryPredicate("x=@a", {"a": 0}); @@ -44,12 +45,13 @@ void main() { expect(p.parameters, valid.parameters); }); - test("If and'ing null predicate, ignore it", () { - final valid = QueryPredicate("x=@a", {"a": 0}); - final p = QueryPredicate.and([valid, null]); - expect(p.format, valid.format); - expect(p.parameters, valid.parameters); - }); + // Not allowing null values + // test("If and'ing null predicate, ignore it", () { + // final valid = QueryPredicate("x=@a", {"a": 0}); + // final p = QueryPredicate.and([valid, null]); + // expect(p.format, valid.format); + // expect(p.parameters, valid.parameters); + // }); test("And'ing predicate with no parameters", () { final valid = QueryPredicate("x=y"); diff --git a/packages/postgresql/lib/src/builders/table.dart b/packages/postgresql/lib/src/builders/table.dart index ff68a8bef..742f8d543 100644 --- a/packages/postgresql/lib/src/builders/table.dart +++ b/packages/postgresql/lib/src/builders/table.dart @@ -16,9 +16,8 @@ class TableBuilder implements Returnable { returning = ColumnBuilder.fromKeys(this, query.propertiesToFetch); columnSortBuilders = query.sortDescriptors - ?.map((s) => ColumnSortBuilder(this, s.key, s.order)) - .toList() ?? - []; + .map((s) => ColumnSortBuilder(this, s.key, s.order)) + .toList(); if (query.sortPredicate != null) { columnSortBuilders.add( ColumnSortPredicateBuilder( @@ -55,7 +54,7 @@ class TableBuilder implements Returnable { } } - query.subQueries?.forEach((relationshipDesc, subQuery) { + query.subQueries.forEach((relationshipDesc, subQuery) { addJoinTableBuilder( TableBuilder( subQuery as PostgresQuery, @@ -149,13 +148,11 @@ class TableBuilder implements Returnable { void finalize(Map variables) { final allExpressions = [ - _manualPredicate, + if (_manualPredicate != null) _manualPredicate, ...expressionBuilders.map((c) => c.predicate) ]; predicate = QueryPredicate.and(allExpressions); - if (predicate?.parameters != null) { - variables.addAll(predicate!.parameters); - } + variables.addAll(predicate!.parameters); returning.whereType().forEach((r) { r.finalize(variables); }); @@ -275,7 +272,7 @@ class TableBuilder implements Returnable { Methods that return portions of a SQL statement for this object */ - String? get sqlTableName { + String get sqlTableName { if (tableAlias == null) { return entity.tableName; } @@ -283,7 +280,7 @@ class TableBuilder implements Returnable { return "${entity.tableName} $tableAlias"; } - String? get sqlTableReference => tableAlias ?? entity.tableName; + String get sqlTableReference => tableAlias ?? entity.tableName; String get sqlInnerSelect { final nestedJoins = @@ -320,8 +317,8 @@ class TableBuilder implements Returnable { return sqlInnerSelect; } - final totalJoinPredicate = - QueryPredicate.and([joiningPredicate, predicate]); + final totalJoinPredicate = QueryPredicate.and( + [joiningPredicate, if (predicate != null) predicate!]); final thisJoin = "LEFT OUTER JOIN $sqlTableName ON ${totalJoinPredicate.format}"; diff --git a/packages/postgresql/lib/src/postgresql_persistent_store.dart b/packages/postgresql/lib/src/postgresql_persistent_store.dart index 08a1219f2..4d2c08dd1 100644 --- a/packages/postgresql/lib/src/postgresql_persistent_store.dart +++ b/packages/postgresql/lib/src/postgresql_persistent_store.dart @@ -102,7 +102,7 @@ class PostgreSQLPersistentStore extends PersistentStore /// /// Use this property to execute raw queries on the underlying database connection. /// If running a transaction, this context is the transaction context. - Future get executionContext => getDatabaseConnection(); + Future get executionContext => getDatabaseConnection(); /// Retrieves a connection to the database this instance connects to. /// @@ -160,7 +160,7 @@ class PostgreSQLPersistentStore extends PersistentStore final now = DateTime.now().toUtc(); final dbConnection = await executionContext; try { - final rows = await dbConnection!.execute( + final rows = await dbConnection.execute( Sql.named(sql), parameters: substitutionValues, timeout: timeout, @@ -323,7 +323,7 @@ class PostgreSQLPersistentStore extends PersistentStore final now = DateTime.now().toUtc(); try { final dbConnection = await executionContext; - final Result results = await dbConnection!.execute( + final Result results = await dbConnection.execute( Sql.named(formatString), parameters: values, timeout: Duration(seconds: timeoutInSeconds), diff --git a/packages/postgresql/lib/src/postgresql_query_reduce.dart b/packages/postgresql/lib/src/postgresql_query_reduce.dart index ec6b68c45..3dac168d6 100644 --- a/packages/postgresql/lib/src/postgresql_query_reduce.dart +++ b/packages/postgresql/lib/src/postgresql_query_reduce.dart @@ -6,7 +6,6 @@ import 'postgresql_persistent_store.dart'; import 'postgresql_query.dart'; import 'query_builder.dart'; -// ignore_for_file: constant_identifier_names enum _Reducer { AVG, COUNT, @@ -89,7 +88,7 @@ class PostgresQueryReduce final store = query.context.persistentStore as PostgreSQLPersistentStore; final connection = await store.executionContext; try { - final result = await connection!.execute( + final result = await connection.execute( Sql.named(buffer.toString()), parameters: builder.variables, queryMode: QueryMode.extended, diff --git a/packages/postgresql/test/migration/schema_generator_sql_mapping_test.dart b/packages/postgresql/test/migration/schema_generator_sql_mapping_test.dart index c236f3352..05c90f22e 100644 --- a/packages/postgresql/test/migration/schema_generator_sql_mapping_test.dart +++ b/packages/postgresql/test/migration/schema_generator_sql_mapping_test.dart @@ -350,7 +350,7 @@ void main() { dm.entityForType(GeneratorModel2), DeleteRule.cascade, ManagedRelationshipType.belongsTo, - dm.entityForType(GeneratorModel2).primaryKey, + dm.entityForType(GeneratorModel2).primaryKey!, indexed: true, nullable: true, );