Skip to content

Make Options filterable on clients, and add SDK tests.#5448

Open
gefjon wants to merge 18 commits into
masterfrom
phoebe/sdk-test-filterable-option
Open

Make Options filterable on clients, and add SDK tests.#5448
gefjon wants to merge 18 commits into
masterfrom
phoebe/sdk-test-filterable-option

Conversation

@gefjon

@gefjon gefjon commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Description of Changes

Based on #4949 , "Support Option values in index filters."
Adds SDK test based testing of the new filterable types. I have been unable to figure out how to set that PR's branch as the base. Review specific commits starting from f234818 .

This testing revealed that the newly filterable types were erroneously not filterable in clients, due to a missed update in crates/codegen/src/util.rs is_type_filterable. In addition, Uuid had also not been made filterable in clients for the same reason. This PR updates that function to make both appropriate Options and Uuid filterable.

In this commit, I have modified only the Rust modules/sdk-test . The other languages' versions of those modules will also require updates. Also, only the Rust client SDK is tested by this PR. We should ideally also test the other client SDKs.

API and ABI breaking changes

Expands the set of filterable types.

Expected complexity level and risk

4: liable to break SDKs where filter/find operations don't properly support (those languages' reprs of) Option<T>.

Testing

  • Rust client SDK tests added in this PR that codegen and client cache filtering behave appropriately.
  • Test other SDKs, either manually or adding automated tests:
    • C#
    • Unreal
    • TypeScript

Mr-Dust0 and others added 18 commits May 13, 2026 06:36
…le-option

# Conflicts:
#	crates/lib/src/filterable_value.rs
Based on #4949 ,
"Support Option values in index filters."
Adds SDK test based testing of the new filterable types.

This testing revealed that the newly filterable types were erroneously not filterable in clients,
due to a missed update in crates/codegen/src/util.rs `is_type_filterable`.
In addition, `Uuid` had also not been made filterable in clients for the same reason.
This PR updates that function to make both appropriate `Option`s and `Uuid` filterable.

In this commit, I have modified only the Rust modules/sdk-test .
The other languages' versions of those modules will also require updates.
Also, only the Rust client SDK is tested by this PR.
We should ideally also test the other client SDKs.
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