Skip to content

Conversation

@mpartipilo
Copy link
Collaborator

Introduce filter functionality to the iterator method, allowing users to specify conditions for object retrieval. This enhancement includes updates to the iterator implementation and corresponding tests to ensure correct behavior.

Copy link

@orca-security-eu orca-security-eu bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Orca Security Scan Summary

Status Check Issues by priority
Passed Passed Infrastructure as Code high 0   medium 0   low 0   info 0 View in Orca
Passed Passed SAST high 0   medium 0   low 0   info 0 View in Orca
Passed Passed Secrets high 0   medium 0   low 0   info 0 View in Orca
Passed Passed Vulnerabilities high 0   medium 0   low 0   info 0 View in Orca

@github-actions
Copy link

Summary - Weaviate C# Client Coverage

Summary
Generated on: 01/28/2026 - 19:54:56
Coverage date: 01/28/2026 - 19:53:42 - 01/28/2026 - 19:54:29
Parser: MultiReport (4x Cobertura)
Assemblies: 2
Classes: 315
Files: 205
Line coverage: 37.1% (7302 of 19653)
Covered lines: 7302
Uncovered lines: 12351
Coverable lines: 19653
Total lines: 51926
Branch coverage: 37.6% (2007 of 5327)
Covered branches: 2007
Total branches: 5327
Method coverage: Feature is only available for sponsors

Coverage

Weaviate.Client - 38.8%
Name Line Branch
Weaviate.Client 38.8% 39.8%
Weaviate.Client.AggregateClient 37.7% 20.4%
Weaviate.Client.AggregateClientHybridExtensions 0%
Weaviate.Client.AliasClient 11.4% 12.5%
Weaviate.Client.ApiKeyTokenService 0% 0%
Weaviate.Client.Auth 0%
Weaviate.Client.AuthenticatedHttpHandler 0% 0%
Weaviate.Client.BackupClient 0% 0%
Weaviate.Client.BaseCollectionClient 0% 0%
Weaviate.Client.Cache.SchemaCache 0% 0%
Weaviate.Client.ClientConfiguration 55% 25%
Weaviate.Client.ClusterClient 10.3% 14.2%
Weaviate.Client.CollectionClient 45.1% 15%
Weaviate.Client.CollectionClientExtensions 60% 50%
Weaviate.Client.CollectionConfigClient 6% 0%
Weaviate.Client.CollectionsClient 28.6% 30%
Weaviate.Client.Configure 35.1% 34.2%
Weaviate.Client.Connect 0% 0%
Weaviate.Client.DataClient 11.4% 14%
Weaviate.Client.DefaultTokenServiceFactory 0% 0%
Weaviate.Client.DependencyInjection.WeaviateClientFactory 0% 0%
Weaviate.Client.DependencyInjection.WeaviateInitializationService 0%
Weaviate.Client.DependencyInjection.WeaviateOptions 0%
Weaviate.Client.DependencyInjection.WeaviateServiceCollectionExtensions 0% 0%
Weaviate.Client.Factory 83.3%
Weaviate.Client.Generate 0%
Weaviate.Client.GenerateClient 30.9% 30.4%
Weaviate.Client.GenerateClientHybridExtensions 48.8%
Weaviate.Client.GenerativeConfigFactory 4.6% 0%
Weaviate.Client.GenerativeProviderFactory 0.5%
Weaviate.Client.GroupsClient 83.3%
Weaviate.Client.GroupsOidcClient 4.3%
Weaviate.Client.Grpc.RetryInterceptor 0% 0%
Weaviate.Client.Grpc.WeaviateGrpcClient 54.4% 44.9%
Weaviate.Client.Grpc.WeaviateGrpcServerException 0%
Weaviate.Client.Internal.AutoArray`1 100% 100%
Weaviate.Client.Internal.AutoArrayBuilder 100% 100%
Weaviate.Client.Internal.ExceptionHelper 81.4% 86.5%
Weaviate.Client.Internal.KeySortedList`2 33.3%
Weaviate.Client.Internal.MultiKeySortedList`2 85.3% 87.5%
Weaviate.Client.Internal.ObjectHelper 48% 36.9%
Weaviate.Client.Internal.RetryHandler 96.2% 83.3%
Weaviate.Client.Internal.TimeoutHelper 100% 100%
Weaviate.Client.Models.Aggregate 97.9%
Weaviate.Client.Models.AggregateGroupByResult 28.5% 14.1%
Weaviate.Client.Models.AggregateResult 49.7% 59.6%
Weaviate.Client.Models.Alias 0%
Weaviate.Client.Models.AliasesResource 100%
Weaviate.Client.Models.AndNestedFilter 50%
Weaviate.Client.Models.Backup 0%
Weaviate.Client.Models.BackupBackend 0%
Weaviate.Client.Models.BackupClientConfig 0%
Weaviate.Client.Models.BackupCreateOperation 0%
Weaviate.Client.Models.BackupCreateRequest 0%
Weaviate.Client.Models.BackupOperationBase 0% 0%
Weaviate.Client.Models.BackupRestoreOperation 0%
Weaviate.Client.Models.BackupRestoreRequest 0%
Weaviate.Client.Models.BackupsResource 100%
Weaviate.Client.Models.BackupStatusExtensions 0% 0%
Weaviate.Client.Models.BatchInsertRequest 21.7%
Weaviate.Client.Models.BatchInsertResponse 0%
Weaviate.Client.Models.BatchInsertResponseEntry 0%
Weaviate.Client.Models.BatchReferenceReturn 0% 0%
Weaviate.Client.Models.BM25Config 66.6% 83.3%
Weaviate.Client.Models.Bm25ConfigUpdate 0% 0%
Weaviate.Client.Models.BM25Operator 0%
Weaviate.Client.Models.ClusterNode 38.4%
Weaviate.Client.Models.ClusterNodeVerbose 23% 0%
Weaviate.Client.Models.CollectionConfig 88.8% 57.1%
Weaviate.Client.Models.CollectionConfigCommon 84% 57.6%
Weaviate.Client.Models.CollectionConfigExport 100% 100%
Weaviate.Client.Models.CollectionsResource 100%
Weaviate.Client.Models.CollectionUpdate 0% 0%
Weaviate.Client.Models.CurrentUserInfo 0%
Weaviate.Client.Models.DatabaseUser 66.6%
Weaviate.Client.Models.DataReference 0%
Weaviate.Client.Models.DataResource 100%
Weaviate.Client.Models.DataTypeExtensions 0% 0%
Weaviate.Client.Models.DeleteManyObjectResult 0%
Weaviate.Client.Models.DeleteManyResult 0%
Weaviate.Client.Models.DynamicDto 0%
Weaviate.Client.Models.EmptyBackend 0%
Weaviate.Client.Models.FilesystemBackend 0%
Weaviate.Client.Models.Filter 65.8% 50%
Weaviate.Client.Models.Filter`1 0% 0%
Weaviate.Client.Models.FlatDto 0%
Weaviate.Client.Models.FlexibleConverter`1 0% 0%
Weaviate.Client.Models.FlexibleStringConverter 0% 0%
Weaviate.Client.Models.Generative.Providers 27.6%
Weaviate.Client.Models.GenerativeConfig 5.8%
Weaviate.Client.Models.GenerativeConfigSerialization 38.2% 37.8%
Weaviate.Client.Models.GenerativeDebug 0%
Weaviate.Client.Models.GenerativeGroupByObject 100%
Weaviate.Client.Models.GenerativeGroupByResult 100%
Weaviate.Client.Models.GenerativePrompt 100%
Weaviate.Client.Models.GenerativeProvider 83.3%
Weaviate.Client.Models.GenerativeReply 100%
Weaviate.Client.Models.GenerativeResult 8% 0%
Weaviate.Client.Models.GenerativeWeaviateGroup 100%
Weaviate.Client.Models.GenerativeWeaviateObject 100%
Weaviate.Client.Models.GenerativeWeaviateResult 100%
Weaviate.Client.Models.GeoCoordinate 100%
Weaviate.Client.Models.GeoCoordinateConstraint 0%
Weaviate.Client.Models.GroupByObject 0%
Weaviate.Client.Models.GroupByRequest 100%
Weaviate.Client.Models.GroupByResult 100%
Weaviate.Client.Models.GroupByResult`2 100%
Weaviate.Client.Models.GroupedTask 100%
Weaviate.Client.Models.GroupRoleAssignment 0%
Weaviate.Client.Models.GroupsResource 100%
Weaviate.Client.Models.HnswDto 100%
Weaviate.Client.Models.HybridNearTextBuilder 68.8%
Weaviate.Client.Models.HybridNearVectorBuilder 60.9%
Weaviate.Client.Models.HybridVectorInput 91% 85.7%
Weaviate.Client.Models.HybridVectorInputBuilder 100%
Weaviate.Client.Models.InvertedIndexConfig 69% 72.7%
Weaviate.Client.Models.InvertedIndexConfigUpdate 0% 0%
Weaviate.Client.Models.JsonConverterEmptyCollectionAsNull 52.6% 37.5%
Weaviate.Client.Models.Metadata 100%
Weaviate.Client.Models.MetadataQuery 61.9%
Weaviate.Client.Models.MetaInfo 0% 0%
Weaviate.Client.Models.Metrics 24% 10%
Weaviate.Client.Models.ModelsToDtoExtensions 67.9% 60%
Weaviate.Client.Models.ModuleConfigList 16.6% 7.1%
Weaviate.Client.Models.Move 100%
Weaviate.Client.Models.MultiTenancyConfig 100%
Weaviate.Client.Models.MultiTenancyConfigUpdate 0%
Weaviate.Client.Models.MultiVectorDto 100%
Weaviate.Client.Models.MultiVectorEncodingDto 100%
Weaviate.Client.Models.MuveraDto 100% 50%
Weaviate.Client.Models.NamedVector 100% 50%
Weaviate.Client.Models.NearTextBuilder 100%
Weaviate.Client.Models.NearTextInput 100%
Weaviate.Client.Models.NearVectorBuilder 100%
Weaviate.Client.Models.NearVectorInput 54.5%
Weaviate.Client.Models.NestedFilter 100%
Weaviate.Client.Models.NodesResource 100%
Weaviate.Client.Models.NodeStatusExtensions 60% 20%
Weaviate.Client.Models.NotNestedFilter 100%
Weaviate.Client.Models.ObjectReference 20%
Weaviate.Client.Models.ObjectStorageBackend 0%
Weaviate.Client.Models.OrNestedFilter 50%
Weaviate.Client.Models.PermissionResourceExtensions 75.1% 33.3%
Weaviate.Client.Models.Permissions 57.5% 50%
Weaviate.Client.Models.PermissionScope 0%
Weaviate.Client.Models.PhoneNumber 88.8%
Weaviate.Client.Models.Property 98.4% 79.6%
Weaviate.Client.Models.Property`1 100%
Weaviate.Client.Models.PropertyFilter 79% 75%
Weaviate.Client.Models.PropertyHelper 69.8% 56.9%
Weaviate.Client.Models.PropertyUpdate 0%
Weaviate.Client.Models.QueryReference 0%
Weaviate.Client.Models.Reference 0%
Weaviate.Client.Models.ReferenceFilter 100%
Weaviate.Client.Models.ReferenceUpdate 0%
Weaviate.Client.Models.ReplicateRequest 0%
Weaviate.Client.Models.ReplicateResource 100%
Weaviate.Client.Models.ReplicationClientConfig 0%
Weaviate.Client.Models.ReplicationConfig 100%
Weaviate.Client.Models.ReplicationConfigUpdate 0%
Weaviate.Client.Models.ReplicationOperation 0% 0%
Weaviate.Client.Models.ReplicationOperationError 0%
Weaviate.Client.Models.ReplicationOperationStatus 0% 0%
Weaviate.Client.Models.ReplicationOperationTracker 0% 0%
Weaviate.Client.Models.Rerank 0%
Weaviate.Client.Models.Reranker 12%
Weaviate.Client.Models.RerankerConfigSerialization 49% 50%
Weaviate.Client.Models.RoleInfo 100%
Weaviate.Client.Models.RolesResource 100%
Weaviate.Client.Models.ShardInfo 0%
Weaviate.Client.Models.ShardingConfig 100%
Weaviate.Client.Models.ShardStatusExtensions 0% 0%
Weaviate.Client.Models.SimpleTargetVectors 100%
Weaviate.Client.Models.SinglePrompt 100%
Weaviate.Client.Models.Sort 0% 0%
Weaviate.Client.Models.SortExtensions 0%
Weaviate.Client.Models.StopwordConfig 69.5% 75%
Weaviate.Client.Models.StopwordsConfigUpdate 0% 0%
Weaviate.Client.Models.TargetVectors 75.5% 0%
Weaviate.Client.Models.Tenant 8.3% 0%
Weaviate.Client.Models.TenantsResource 100%
Weaviate.Client.Models.TimeFilter 0% 0%
Weaviate.Client.Models.Typed.AggregateGroupByResult`1 100% 100%
Weaviate.Client.Models.Typed.AggregatePropertyMapper 84.8% 61.7%
Weaviate.Client.Models.Typed.AggregateResult`1 100%
Weaviate.Client.Models.Typed.BooleanMetricsAttribute 100%
Weaviate.Client.Models.Typed.DateMetricsAttribute 100%
Weaviate.Client.Models.Typed.GenerativeGroupByObject`1 0%
Weaviate.Client.Models.Typed.GenerativeGroupByResult`1 0%
Weaviate.Client.Models.Typed.GenerativeWeaviateGroup`1 0%
Weaviate.Client.Models.Typed.GenerativeWeaviateObject`1 0%
Weaviate.Client.Models.Typed.GenerativeWeaviateResult`1 0%
Weaviate.Client.Models.Typed.GroupByObject`1 0%
Weaviate.Client.Models.Typed.GroupByResult`1 0%
Weaviate.Client.Models.Typed.IntegerMetricsAttribute 100%
Weaviate.Client.Models.Typed.MetricsExtractor 81.5% 79.8%
Weaviate.Client.Models.Typed.NumberMetricsAttribute 100%
Weaviate.Client.Models.Typed.TextMetricsAttribute 100%
Weaviate.Client.Models.Typed.TypedResultConverter 8% 0%
Weaviate.Client.Models.Typed.WeaviateGroup`2 0%
Weaviate.Client.Models.Typed.WeaviateObject`1 0% 0%
Weaviate.Client.Models.TypedBase`1 70.5%
Weaviate.Client.Models.TypedGuid 66.6%
Weaviate.Client.Models.TypedValue`1 70%
Weaviate.Client.Models.User 0%
Weaviate.Client.Models.UserMetadata 0%
Weaviate.Client.Models.UserRoleAssignment 0%
Weaviate.Client.Models.UsersResource 100%
Weaviate.Client.Models.Vector 45.3% 28.1%
Weaviate.Client.Models.VectorBuilder 30% 27.7%
Weaviate.Client.Models.VectorConfig 82.7% 50%
Weaviate.Client.Models.VectorConfigList 53.1% 55%
Weaviate.Client.Models.VectorConfigUpdate 0%
Weaviate.Client.Models.VectorIndex 79.5%
Weaviate.Client.Models.VectorIndexConfig 14.2%
Weaviate.Client.Models.VectorIndexConfigUpdate 0% 0%
Weaviate.Client.Models.VectorIndexConfigUpdateDynamic 0% 0%
Weaviate.Client.Models.VectorIndexConfigUpdateFlat 0%
Weaviate.Client.Models.VectorIndexConfigUpdateHNSW 0%
Weaviate.Client.Models.VectorIndexMappingExtensions 68.9% 41.3%
Weaviate.Client.Models.VectorIndexSerialization 40% 19.2%
Weaviate.Client.Models.VectorInputBuilderFactories 100% 100%
Weaviate.Client.Models.Vectorizer 10.7% 0%
Weaviate.Client.Models.VectorizerAttribute 100%
Weaviate.Client.Models.VectorizerConfig 64.1% 56.2%
Weaviate.Client.Models.VectorizerRegistry 68.9% 71.4%
Weaviate.Client.Models.Vectorizers.VectorizerConfigFactory 58% 62.5%
Weaviate.Client.Models.VectorMulti`1 40.7% 23%
Weaviate.Client.Models.VectorQuery 40% 50%
Weaviate.Client.Models.Vectors 37.5% 100%
Weaviate.Client.Models.VectorSearchInput 86.3% 16.6%
Weaviate.Client.Models.VectorSingle`1 22.7% 0%
Weaviate.Client.Models.WeaviateGroup`1 80%
Weaviate.Client.Models.WeaviateObject 88.8%
Weaviate.Client.Models.WeaviateObjectExtensions 95.6% 75%
Weaviate.Client.Models.WeaviateResult 100%
Weaviate.Client.Models.WeaviateResult`1 33.3%
Weaviate.Client.Models.WeightedField 0%
Weaviate.Client.Models.WeightedFields 0% 0%
Weaviate.Client.Models.WeightedTargetVectors 100% 100%
Weaviate.Client.NearMediaBuilder 95.2% 50%
Weaviate.Client.NearMediaInput 100%
Weaviate.Client.NodesClient 56.2% 25%
Weaviate.Client.OAuthConfig 0%
Weaviate.Client.OAuthTokenService 0% 0%
Weaviate.Client.QueryClient 42.4% 32.5%
Weaviate.Client.QueryClientHybridExtensions 48.8% 25%
Weaviate.Client.QueryClientNearTextExtensions 74.2% 75%
Weaviate.Client.ReplicationsClient 0% 0%
Weaviate.Client.RerankerConfigFactory 7.1% 0%
Weaviate.Client.Rest.EnumMemberJsonConverter`1 100% 78.5%
Weaviate.Client.Rest.EnumMemberJsonConverterFactory 100%
Weaviate.Client.Rest.HttpResponseMessageExtensions 51.3% 25%
Weaviate.Client.Rest.InvalidEnumWireFormatException 0%
Weaviate.Client.Rest.WeaviateEndpoints 10.5% 5.1%
Weaviate.Client.Rest.WeaviateRestClient 15.2% 13.3%
Weaviate.Client.Rest.WeaviateRestClientException 0% 0%
Weaviate.Client.Rest.WeaviateRestServerException 0% 0%
Weaviate.Client.Rest.WeaviateUnexpectedStatusCodeException 100%
Weaviate.Client.RetryPolicy 64.5% 35.7%
Weaviate.Client.RolesClient 36.5% 0%
Weaviate.Client.Serialization.Converters.BlobPropertyConverter 58.8% 37.5%
Weaviate.Client.Serialization.Converters.BoolPropertyConverter 80% 50%
Weaviate.Client.Serialization.Converters.DatePropertyConverter 47.2% 34.2%
Weaviate.Client.Serialization.Converters.GeoPropertyConverter 50.7% 23.6%
Weaviate.Client.Serialization.Converters.IntPropertyConverter 66.6% 50%
Weaviate.Client.Serialization.Converters.NumberPropertyConverter 64.7% 47%
Weaviate.Client.Serialization.Converters.ObjectPropertyConverter 18% 7.3%
Weaviate.Client.Serialization.Converters.PhonePropertyConverter 51.8% 33.3%
Weaviate.Client.Serialization.Converters.TextPropertyConverter 75% 75%
Weaviate.Client.Serialization.Converters.UuidPropertyConverter 61.1% 37.5%
Weaviate.Client.Serialization.PropertyBag 28.9% 20.7%
Weaviate.Client.Serialization.PropertyConverterBase 65.3% 50%
Weaviate.Client.Serialization.PropertyConverterRegistry 77.7% 69.4%
Weaviate.Client.TenantsClient 0% 0%
Weaviate.Client.Typed.TypedCollectionClient`1 54.3% 0%
Weaviate.Client.Typed.TypedDataClient`1 9.4%
Weaviate.Client.Typed.TypedGenerateClient`1 0.8% 0%
Weaviate.Client.Typed.TypedGenerateClientHybridExtensions 0%
Weaviate.Client.Typed.TypedQueryClient`1 1% 0%
Weaviate.Client.Typed.TypedQueryClientHybridExtensions 0%
Weaviate.Client.UsersClient 36.8% 0%
Weaviate.Client.UsersDatabaseClient 34.4% 50%
Weaviate.Client.UsersOidcClient 4.5%
Weaviate.Client.Validation.TypeValidationException 55.5%
Weaviate.Client.Validation.TypeValidator 75.2% 68.4%
Weaviate.Client.Validation.ValidationError 83.3%
Weaviate.Client.Validation.ValidationResult 100% 100%
Weaviate.Client.Validation.ValidationWarning 75%
Weaviate.Client.ValidationExtensions 0% 0%
Weaviate.Client.VectorizerFactory 6%
Weaviate.Client.VectorizerFactoryMulti 3.8%
Weaviate.Client.WeaviateAuthenticationException 100% 100%
Weaviate.Client.WeaviateAuthorizationException 100% 100%
Weaviate.Client.WeaviateBackupConflictException 100%
Weaviate.Client.WeaviateBadRequestException 100% 100%
Weaviate.Client.WeaviateClient 46.4% 26.1%
Weaviate.Client.WeaviateClientBuilder 0% 0%
Weaviate.Client.WeaviateClientBuilderExtensions 0%
Weaviate.Client.WeaviateClientException 66.6%
Weaviate.Client.WeaviateCollectionLimitReachedException 100% 100%
Weaviate.Client.WeaviateConflictException 0%
Weaviate.Client.WeaviateDefaults 100%
Weaviate.Client.WeaviateException 66.6%
Weaviate.Client.WeaviateExtensions 61.2% 43.1%
Weaviate.Client.WeaviateExternalModuleProblemException 100% 100%
Weaviate.Client.WeaviateFeatureNotSupportedException 100% 100%
Weaviate.Client.WeaviateModuleNotAvailableException 100% 100%
Weaviate.Client.WeaviateNotFoundException 0% 0%
Weaviate.Client.WeaviateServerException 66.6%
Weaviate.Client.WeaviateTimeoutException 100% 100%
Weaviate.Client.WeaviateUnprocessableEntityException 100% 100%
Weaviate.Client.Analyzers - 0%
Name Line Branch
Weaviate.Client.Analyzers 0% 0%
Weaviate.Client.Analyzers.AggregatePropertySuffixAnalyzer 0% 0%
Weaviate.Client.Analyzers.AutoArrayUsageAnalyzer 0% 0%
Weaviate.Client.Analyzers.HybridSearchNullParametersAnalyzer 0% 0%
Weaviate.Client.Analyzers.VectorizerFactoryAnalyzer 0% 0%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants