Make Options filterable on clients, and add SDK tests.#5448
Open
gefjon wants to merge 18 commits into
Open
Conversation
…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.
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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,Uuidhad also not been made filterable in clients for the same reason. This PR updates that function to make both appropriateOptions andUuidfilterable.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