Skip to content

fix: escape interpolated identifiers and literals in constructed SQL (#390) #583

fix: escape interpolated identifiers and literals in constructed SQL (#390)

fix: escape interpolated identifiers and literals in constructed SQL (#390) #583

Triggered via pull request August 2, 2026 18:57
Status Success
Total duration 1m 54s
Artifacts

aspnetcore.yml

on: pull_request
Matrix: test
Fit to window
Zoom out
Zoom in

Annotations

20 warnings
test (edge) / test: src/Polecat/Storage/SqlServerDocumentStorageDescriptorBuilder.cs#L104
'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicProperties' in call to 'System.Type.GetProperty(String)'. The generic parameter 'TDoc' of 'Polecat.Storage.SqlServerDocumentStorageDescriptorBuilder.Build<TDoc, TId>(DocumentMapping, IIdentification<TDoc, TId>, StoreOptions)' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to.
test (edge) / test: src/Polecat/Storage/SqlServerDocumentStorageDescriptorBuilder.cs#L92
'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicProperties' in call to 'System.Type.GetProperty(String)'. The generic parameter 'TDoc' of 'Polecat.Storage.SqlServerDocumentStorageDescriptorBuilder.Build<TDoc, TId>(DocumentMapping, IIdentification<TDoc, TId>, StoreOptions)' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to.
test (edge) / test: src/Polecat/Storage/SqlServerDocumentStorageDescriptorBuilder.cs#L78
'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicProperties' in call to 'System.Type.GetProperty(String)'. The generic parameter 'TDoc' of 'Polecat.Storage.SqlServerDocumentStorageDescriptorBuilder.Build<TDoc, TId>(DocumentMapping, IIdentification<TDoc, TId>, StoreOptions)' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to.
test (edge) / test: src/Polecat/PolecatStoreServiceCollectionExtensions.cs#L75
Using member 'Polecat.Internal.SecondaryStoreProxyFactory.GetOrCreate(Type)' which has 'RequiresDynamicCodeAttribute' can break functionality when AOT compiling. Generates a runtime subclass per secondary-store interface via System.Reflection.Emit.
test (edge) / test: src/Polecat/Storage/DocumentMappingExpression.cs#L110
Ambiguous reference in cref attribute: 'JsonIndex'. Assuming 'Polecat.Storage.DocumentMappingExpression<T>.JsonIndex(System.Linq.Expressions.Expression<System.Func<T, object?>>, System.Action<Polecat.Storage.JsonIndex>?)', but could have also matched other overloads including 'Polecat.Storage.DocumentMappingExpression<T>.JsonIndex(System.Action<Polecat.Storage.JsonIndex>?)'.
test (edge) / test: src/Polecat/Internal/Operations/RecordProgressionOperation.cs#L9
XML comment on 'RecordProgressionOperation' has a paramref tag for 'upsert', but there is no parameter by that name
test (edge) / test: src/Polecat/Internal/DocumentSessionBase.cs#L1028
Possible null reference assignment.
test (edge) / test: src/Polecat/Internal/DocumentSessionBase.cs#L1027
Possible null reference assignment.
test (edge) / test: src/Polecat/Internal/DocumentSessionBase.cs#L1026
Possible null reference assignment.
test (edge) / test: src/Polecat/Events/Storage/PolecatQuickAppendEventsOperation.cs#L329
Nullability of reference types in type of parameter 'transformed' of 'bool PolecatQuickAppendEventsOperation.TryTransform(Exception original, out Exception? transformed)' doesn't match implicitly implemented member 'bool IExceptionTransform.TryTransform(Exception original, out Exception? transformed)' (possibly because of nullability attributes).
test (default) / test: src/Polecat/Internal/SecondaryStoreProxyFactory.cs#L78
Using member 'Polecat.DocumentStore.ResolveEventClrType(String)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. Walks AppDomain.GetAssemblies() + Assembly.GetTypes() to resolve eventTypeName → CLR Type. The trimmer cannot reason about which event types survive; AOT-publishing apps should register event types explicitly via EventGraph.AddEventType or use the source-generated event registry.
test (default) / test: src/Polecat/Internal/SecondaryStoreProxyFactory.cs#L78
Using member 'Polecat.DocumentStore.ToDomainEvent(EventRecord)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. Walks loaded assemblies to resolve eventTypeName → CLR Type and routes through ISerializer.FromJson which is annotated
test (default) / test: src/Polecat/Internal/SecondaryStoreProxyFactory.cs#L78
Using member 'Polecat.DocumentStore.RunProjectionForReferenceTypeAsync<TState>(IReadOnlyList<EventRecord>, TState, CancellationToken)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. Routes projection events through the aggregator graph + ToDomainEvent reflective deserialization. TState's public members must survive trimming for the aggregator to access them.
test (default) / test: src/Polecat/PolecatStoreServiceCollectionExtensions.cs#L75
Using member 'Polecat.Internal.SecondaryStoreProxyFactory.GetOrCreate(Type)' which has 'RequiresDynamicCodeAttribute' can break functionality when AOT compiling. Generates a runtime subclass per secondary-store interface via System.Reflection.Emit.
test (default) / test: src/Polecat/Storage/DocumentMappingExpression.cs#L110
Ambiguous reference in cref attribute: 'JsonIndex'. Assuming 'Polecat.Storage.DocumentMappingExpression<T>.JsonIndex(System.Linq.Expressions.Expression<System.Func<T, object?>>, System.Action<Polecat.Storage.JsonIndex>?)', but could have also matched other overloads including 'Polecat.Storage.DocumentMappingExpression<T>.JsonIndex(System.Action<Polecat.Storage.JsonIndex>?)'.
test (default) / test: src/Polecat/Internal/Operations/RecordProgressionOperation.cs#L9
XML comment on 'RecordProgressionOperation' has a paramref tag for 'upsert', but there is no parameter by that name
test (default) / test: src/Polecat/Internal/DocumentSessionBase.cs#L1028
Possible null reference assignment.
test (default) / test: src/Polecat/Internal/DocumentSessionBase.cs#L1027
Possible null reference assignment.
test (default) / test: src/Polecat/Internal/DocumentSessionBase.cs#L1026
Possible null reference assignment.
test (default) / test: src/Polecat/Events/Storage/PolecatQuickAppendEventsOperation.cs#L329
Nullability of reference types in type of parameter 'transformed' of 'bool PolecatQuickAppendEventsOperation.TryTransform(Exception original, out Exception? transformed)' doesn't match implicitly implemented member 'bool IExceptionTransform.TryTransform(Exception original, out Exception? transformed)' (possibly because of nullability attributes).