Skip to content

Check partition header when querying documents#73

Open
tony-kennards wants to merge 1 commit intovercel:mainfrom
tony-kennards:master
Open

Check partition header when querying documents#73
tony-kennards wants to merge 1 commit intovercel:mainfrom
tony-kennards:master

Conversation

@tony-kennards
Copy link
Copy Markdown

When we specify PartitionKey in QueryRequestOptions in c# sdk, it does not require the query string contains partition key condition. Instead, it sends the http header "x-ms-documentdb-partitionkey".

using var query = _container.GetItemQueryIterator<ProductInCosmos>(
                "SELECT * FROM c WHERE c.age < 10",
                requestOptions: new QueryRequestOptions { PartitionKey = new PartitionKey("Student") });

This PR is to check http header when querying documents. If the partition key value is provided in header, do not return 400

@nkzawa
Copy link
Copy Markdown
Contributor

nkzawa commented Aug 30, 2021

Thank you for the PR, it makes sense but additionally seems like we need to use the partition value for filtering as well?

For example, SELECT * FROM c WHERE c.age < 10 with the partition key Student should work like:

SELECT * FROM c WHERE c.age < 10 AND c.type = 'Student'

Need to investigate how real cosmos db works actually 🤔

@nkzawa nkzawa self-requested a review August 30, 2021 08:37
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