Skip to content

Comments

Filter iterator#1798

Open
dirkkul wants to merge 8 commits intodev/1.33from
filter_iterator
Open

Filter iterator#1798
dirkkul wants to merge 8 commits intodev/1.33from
filter_iterator

Conversation

@dirkkul
Copy link
Collaborator

@dirkkul dirkkul commented Aug 21, 2025

No description provided.

@dirkkul dirkkul requested a review from a team as a code owner August 21, 2025 03:36
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 Secrets high 0   medium 0   low 0   info 0 View in Orca

@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 79.24528% with 11 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.32%. Comparing base (4bef4b8) to head (4ae8fd9).

Files with missing lines Patch % Lines
integration/test_iterator.py 50.00% 8 Missing ⚠️
integration/test_client.py 75.00% 1 Missing ⚠️
weaviate/collections/collection/async_.py 75.00% 1 Missing ⚠️
weaviate/collections/collection/sync.py 75.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           dev/1.33    #1798      +/-   ##
============================================
+ Coverage     87.27%   87.32%   +0.05%     
============================================
  Files           269      269              
  Lines         18777    18797      +20     
============================================
+ Hits          16388    16415      +27     
+ Misses         2389     2382       -7     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

dirkkul and others added 2 commits August 22, 2025 08:56
Feed shard_cursors from each SearchReply back into the next SearchRequest,
enabling per-shard pagination state for filtered iterators. Also updates
protobuf definitions to include the shard_cursors field.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings February 22, 2026 20:06
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request adds support for filtering in iterators and implements shard cursor pagination for more efficient iteration over large collections in Weaviate. The changes include updates to gRPC protocol buffer definitions across multiple API versions (v4216, v5261, v6300) and modifications to the iterator and query execution logic.

Changes:

  • Added shard cursor pagination support to enable efficient iteration with position tracking across shards
  • Introduced filter parameter to iterator methods for server-side filtering during iteration
  • Updated gRPC protocol buffer definitions to support new batch operations (BatchReferences, BatchStream) and filter operators (OPERATOR_CONTAINS_NONE, OPERATOR_NOT)
  • Added version check to ensure filter functionality is only used with Weaviate 1.33.0+

Reviewed changes

Copilot reviewed 49 out of 49 changed files in this pull request and generated no comments.

Show a summary per file
File Description
weaviate/proto/v1//v1/.py(i) Auto-generated protocol buffer files adding new RPC methods, filter operators, shard_cursors field, and generative AI providers
weaviate/collections/iterator.py Added shard_cursors tracking and filters parameter to both sync and async iterators
weaviate/collections/grpc/query.py Added shard_cursors parameter to query request building
weaviate/collections/queries/base_executor.py Extract shard_cursors from response and include in QueryReturn
weaviate/collections/queries/fetch_objects/query/executor.py Added shard_cursors parameter to fetch_objects method signatures
weaviate/collections/collection/sync.py Added filters parameter to iterator with version check
weaviate/collections/collection/async_.py Added filters parameter to async iterator with version check
weaviate/collections/classes/internal.py Added shard_cursors field to QueryReturn dataclass
integration/test_iterator.py Added test for iterator with filters and fixed existing test
integration/test_client.py Updated generative model name in test
.github/workflows/main.yaml Updated Weaviate 1.33 version reference

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.

3 participants