diff --git a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncMixedBenchmark.java b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncMixedBenchmark.java index e667b9bbaa35..d879d9df1a7c 100644 --- a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncMixedBenchmark.java +++ b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncMixedBenchmark.java @@ -3,7 +3,7 @@ package com.azure.cosmos.benchmark; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.implementation.RequestOptions; import org.apache.commons.lang3.RandomStringUtils; @@ -37,7 +37,7 @@ protected void performWorkload(BaseSubscriber documentBaseSubscriber, lo } else if (i % 100 == 0) { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); String sqlQuery = "Select top 100 * from c order by c._ts"; obs = cosmosAsyncContainer.queryItems(sqlQuery, options, PojoizedJson.class).byPage(10); diff --git a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncQueryBenchmark.java b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncQueryBenchmark.java index a97fe9c5c234..f6855e94e741 100644 --- a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncQueryBenchmark.java +++ b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncQueryBenchmark.java @@ -3,7 +3,7 @@ package com.azure.cosmos.benchmark; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.models.SqlParameter; @@ -72,7 +72,7 @@ protected void onSuccess() { protected void performWorkload(BaseSubscriber> baseSubscriber, long i) throws InterruptedException { Flux> obs; Random r = new Random(); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); if (configuration.getOperationType() == Configuration.Operation.QueryCross) { diff --git a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncQuerySinglePartitionMultiple.java b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncQuerySinglePartitionMultiple.java index 7e44d2252529..6a5ca9b2d8f6 100644 --- a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncQuerySinglePartitionMultiple.java +++ b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncQuerySinglePartitionMultiple.java @@ -4,7 +4,7 @@ package com.azure.cosmos.benchmark; import com.azure.cosmos.util.CosmosPagedFlux; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.PartitionKey; import reactor.core.publisher.BaseSubscriber; @@ -13,12 +13,12 @@ class AsyncQuerySinglePartitionMultiple extends AsyncBenchmark> { private static final String SQL_QUERY = "Select * from c where c.pk = \"pk\""; - private FeedOptions options; + private QueryRequestOptions options; private int pageCount = 0; AsyncQuerySinglePartitionMultiple(Configuration cfg) { super(cfg); - options = new FeedOptions(); + options = new QueryRequestOptions(); options.setPartitionKey(new PartitionKey("pk")); } diff --git a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/ReadMyWriteWorkflow.java b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/ReadMyWriteWorkflow.java index a499c461b7cf..63e4f824ffce 100644 --- a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/ReadMyWriteWorkflow.java +++ b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/ReadMyWriteWorkflow.java @@ -8,7 +8,7 @@ import com.azure.cosmos.implementation.AsyncDocumentClient; import com.azure.cosmos.implementation.Database; import com.azure.cosmos.implementation.Document; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.implementation.NotFoundException; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.models.SqlParameter; @@ -242,7 +242,7 @@ private SqlQuerySpec generateRandomQuery() { * @return Observable document */ private Flux xPartitionQuery(SqlQuerySpec query) { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(-1); return client.queryDocuments(getCollectionLink(), query, options) @@ -257,7 +257,7 @@ private Flux xPartitionQuery(SqlQuerySpec query) { * @return Observable document */ private Flux singlePartitionQuery(Document d) { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setPartitionKey(new PartitionKey(d.get(partitionKey))); SqlQuerySpec sqlQuerySpec = new SqlQuerySpec(String.format("Select top 100 * from c where c.%s = '%s'", diff --git a/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/BasicDemo.java b/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/BasicDemo.java index 763e6e2da393..b069d1525667 100644 --- a/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/BasicDemo.java +++ b/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/BasicDemo.java @@ -10,7 +10,7 @@ import com.azure.cosmos.CosmosException; import com.azure.cosmos.models.CosmosContainerProperties; import com.azure.cosmos.util.CosmosPagedFlux; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.PartitionKey; import reactor.core.publisher.Mono; @@ -113,7 +113,7 @@ private void createDbAndContainerBlocking() { private void queryItems() { log("+ Querying the collection "); String query = "SELECT * from root"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); CosmosPagedFlux queryFlux = container.queryItems(query, options, TestObject.class); @@ -129,7 +129,7 @@ private void queryItems() { private void queryWithContinuationToken() { log("+ Query with paging using continuation token"); String query = "SELECT * from root r "; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setQueryMetricsEnabled(true); String continuation = null; do { diff --git a/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/rx/examples/multimaster/samples/Worker.java b/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/rx/examples/multimaster/samples/Worker.java index 0b97eed01587..ea887397c7b5 100644 --- a/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/rx/examples/multimaster/samples/Worker.java +++ b/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/rx/examples/multimaster/samples/Worker.java @@ -7,7 +7,7 @@ import com.azure.cosmos.implementation.AsyncDocumentClient; import com.azure.cosmos.CosmosException; import com.azure.cosmos.implementation.Document; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import org.slf4j.Logger; @@ -85,8 +85,8 @@ public Mono readAllAsync(int expectedNumberOfDocuments) { FeedResponse response = null; do { - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsContinuationToken(options, response != null ? response.getContinuationToken() : null); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsContinuationToken(options, response != null ? response.getContinuationToken() : null); response = this.client.readDocuments(this.documentCollectionUri, options).take(1) .subscribeOn(schedulerForBlockingWork).single().block(); @@ -122,8 +122,8 @@ void deleteAll() { FeedResponse response = null; do { - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsContinuationToken(options, response != null ? response.getContinuationToken() : null); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsContinuationToken(options, response != null ? response.getContinuationToken() : null); response = this.client.readDocuments(this.documentCollectionUri, options).take(1) .subscribeOn(schedulerForBlockingWork).single().block(); diff --git a/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/ConflictAPITest.java b/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/ConflictAPITest.java index 15725ac74e73..0ddb5f756c36 100644 --- a/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/ConflictAPITest.java +++ b/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/ConflictAPITest.java @@ -5,14 +5,13 @@ import com.azure.cosmos.DirectConnectionConfig; import com.azure.cosmos.implementation.AsyncDocumentClient; import com.azure.cosmos.implementation.Conflict; -import com.azure.cosmos.ConnectionMode; import com.azure.cosmos.implementation.ConnectionPolicy; import com.azure.cosmos.ConsistencyLevel; import com.azure.cosmos.implementation.Database; import com.azure.cosmos.implementation.Document; import com.azure.cosmos.DocumentClientTest; import com.azure.cosmos.implementation.DocumentCollection; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.PartitionKeyDefinition; @@ -106,8 +105,8 @@ public void shutdown() { public void readConflicts_toBlocking_toIterator() { // read all conflicts int requestPageSize = 3; - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, requestPageSize); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, requestPageSize); Flux> conflictReadFeedObservable = client .readConflicts(getCollectionLink(), options); @@ -136,8 +135,8 @@ public void readConflicts_toBlocking_toIterator() { @Test(groups = "samples", timeOut = TIMEOUT) public void transformObservableToCompletableFuture() throws Exception { int requestPageSize = 3; - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, requestPageSize); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, requestPageSize); Flux> conflictReadFeedObservable = client .readConflicts(getCollectionLink(), options); diff --git a/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/DocumentCRUDAsyncAPITest.java b/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/DocumentCRUDAsyncAPITest.java index 1c18a98a1715..f898bec0c9a5 100644 --- a/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/DocumentCRUDAsyncAPITest.java +++ b/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/DocumentCRUDAsyncAPITest.java @@ -8,7 +8,7 @@ import com.azure.cosmos.ConsistencyLevel; import com.azure.cosmos.CosmosException; import com.azure.cosmos.DocumentClientTest; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.models.PartitionKeyDefinition; @@ -416,7 +416,7 @@ public void documentDelete_Async() throws Exception { assertThat(capturedResponse, hasSize(1)); // Assert document is deleted - FeedOptions queryOptions = new FeedOptions(); + QueryRequestOptions queryOptions = new QueryRequestOptions(); List listOfDocuments = client .queryDocuments(getCollectionLink(), String.format("SELECT * FROM r where r.id = '%s'", createdDocument.getId()), queryOptions) .map(FeedResponse::getResults) // Map page to its list of documents diff --git a/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/DocumentQueryAsyncAPITest.java b/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/DocumentQueryAsyncAPITest.java index cb7d6641337b..1876abcb322d 100644 --- a/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/DocumentQueryAsyncAPITest.java +++ b/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/DocumentQueryAsyncAPITest.java @@ -4,14 +4,13 @@ import com.azure.cosmos.DirectConnectionConfig; import com.azure.cosmos.implementation.AsyncDocumentClient; -import com.azure.cosmos.ConnectionMode; import com.azure.cosmos.implementation.ConnectionPolicy; import com.azure.cosmos.ConsistencyLevel; import com.azure.cosmos.implementation.Database; import com.azure.cosmos.implementation.Document; import com.azure.cosmos.DocumentClientTest; import com.azure.cosmos.implementation.DocumentCollection; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.PartitionKeyDefinition; @@ -132,8 +131,8 @@ public void shutdown() { @Test(groups = "samples", timeOut = TIMEOUT) public void queryDocuments_Async() throws Exception { int requestPageSize = 3; - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, requestPageSize); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, requestPageSize); Flux> documentQueryObservable = client .queryDocuments(getCollectionLink(), "SELECT * FROM root", options); @@ -177,8 +176,8 @@ public void queryDocuments_Async() throws Exception { @Test(groups = "samples", timeOut = TIMEOUT) public void queryDocuments_Async_withoutLambda() throws Exception { int requestPageSize = 3; - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, requestPageSize); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, requestPageSize); Flux> documentQueryObservable = client .queryDocuments(getCollectionLink(), "SELECT * FROM root", options); @@ -225,8 +224,8 @@ public void accept(FeedResponse t) { @Test(groups = "samples", timeOut = TIMEOUT) public void queryDocuments_findTotalRequestCharge() throws Exception { int requestPageSize = 3; - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, requestPageSize); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, requestPageSize); Flux totalChargeObservable = client .queryDocuments(getCollectionLink(), "SELECT * FROM root", options) @@ -249,8 +248,8 @@ public void queryDocuments_findTotalRequestCharge() throws Exception { @Test(groups = "samples", timeOut = TIMEOUT) public void queryDocuments_unsubscribeAfterFirstPage() throws Exception { int requestPageSize = 3; - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, requestPageSize); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, requestPageSize); Flux> requestChargeObservable = client .queryDocuments(getCollectionLink(), "SELECT * FROM root", options); @@ -285,8 +284,8 @@ public void queryDocuments_unsubscribeAfterFirstPage() throws Exception { @Test(groups = "samples", timeOut = TIMEOUT) public void queryDocuments_filterFetchedResults() throws Exception { int requestPageSize = 3; - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, requestPageSize); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, requestPageSize); Predicate isPrimeNumber = new Predicate() { @@ -346,8 +345,8 @@ public boolean test(Document doc) { public void queryDocuments_toBlocking_toIterator() { // Query for documents int requestPageSize = 3; - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, requestPageSize); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, requestPageSize); Flux> documentQueryObservable = client .queryDocuments(getCollectionLink(), "SELECT * FROM root", options); @@ -395,8 +394,8 @@ public void qrderBy_Async() throws Exception { // Query for the documents order by the prop field SqlQuerySpec query = new SqlQuerySpec("SELECT r.id FROM r ORDER BY r.prop", new ArrayList<>()); - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, 5); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, 5); // Max degree of parallelism determines the number of partitions that // the SDK establishes simultaneous connections to. @@ -431,8 +430,8 @@ public void qrderBy_Async() throws Exception { @Test(groups = "samples", timeOut = TIMEOUT) public void transformObservableToCompletableFuture() throws Exception { int requestPageSize = 3; - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, requestPageSize); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, requestPageSize); Flux> documentQueryObservable = client .queryDocuments(getCollectionLink(), "SELECT * FROM root", options); diff --git a/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/InMemoryGroupbyTest.java b/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/InMemoryGroupbyTest.java index 76a8960472a5..7186a3df0d72 100644 --- a/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/InMemoryGroupbyTest.java +++ b/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/InMemoryGroupbyTest.java @@ -4,14 +4,13 @@ import com.azure.cosmos.DirectConnectionConfig; import com.azure.cosmos.implementation.AsyncDocumentClient; -import com.azure.cosmos.ConnectionMode; import com.azure.cosmos.implementation.ConnectionPolicy; import com.azure.cosmos.ConsistencyLevel; import com.azure.cosmos.implementation.Database; import com.azure.cosmos.implementation.Document; import com.azure.cosmos.DocumentClientTest; import com.azure.cosmos.implementation.DocumentCollection; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.PartitionKeyDefinition; import com.azure.cosmos.models.SqlParameter; @@ -108,8 +107,8 @@ public void shutdown() { public void groupByInMemory() { // If you want to understand the steps in more details see groupByInMemoryMoreDetail() int requestPageSize = 3; - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, requestPageSize); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, requestPageSize); Flux documentsObservable = client .queryDocuments(getCollectionLink(), @@ -139,8 +138,8 @@ public void groupByInMemory() { public void groupByInMemory_MoreDetail() { int requestPageSize = 3; - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, requestPageSize); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, requestPageSize); Flux documentsObservable = client .queryDocuments(getCollectionLink(), diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncClient.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncClient.java index c7ef4e45ecb9..f47566215307 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncClient.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncClient.java @@ -15,7 +15,7 @@ import com.azure.cosmos.models.CosmosDatabaseProperties; import com.azure.cosmos.models.CosmosDatabaseRequestOptions; import com.azure.cosmos.models.CosmosPermissionProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.SqlQuerySpec; import com.azure.cosmos.models.ThroughputProperties; @@ -392,10 +392,10 @@ public Mono createDatabase(String id, ThroughputProperti * The {@link CosmosPagedFlux} will contain one or several feed response of the read databases. * In case of failure the {@link CosmosPagedFlux} will error. * - * @param options {@link FeedOptions} + * @param options {@link QueryRequestOptions} * @return a {@link CosmosPagedFlux} containing one or several feed response pages of read databases or an error. */ - CosmosPagedFlux readAllDatabases(FeedOptions options) { + CosmosPagedFlux readAllDatabases(QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return getDocClientWrapper().readDatabases(options) @@ -416,7 +416,7 @@ CosmosPagedFlux readAllDatabases(FeedOptions options) * @return a {@link CosmosPagedFlux} containing one or several feed response pages of read databases or an error. */ public CosmosPagedFlux readAllDatabases() { - return readAllDatabases(new FeedOptions()); + return readAllDatabases(new QueryRequestOptions()); } @@ -431,7 +431,7 @@ public CosmosPagedFlux readAllDatabases() { * @param options the feed options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of read databases or an error. */ - public CosmosPagedFlux queryDatabases(String query, FeedOptions options) { + public CosmosPagedFlux queryDatabases(String query, QueryRequestOptions options) { return queryDatabases(new SqlQuerySpec(query), options); } @@ -446,7 +446,7 @@ public CosmosPagedFlux queryDatabases(String query, Fe * @param options the feed options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of read databases or an error. */ - public CosmosPagedFlux queryDatabases(SqlQuerySpec querySpec, FeedOptions options) { + public CosmosPagedFlux queryDatabases(SqlQuerySpec querySpec, QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return getDocClientWrapper().queryDatabases(querySpec, options) diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncContainer.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncContainer.java index d7b8843f5502..79726970feaa 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncContainer.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncContainer.java @@ -17,7 +17,7 @@ import com.azure.cosmos.models.CosmosContainerProperties; import com.azure.cosmos.models.CosmosContainerRequestOptions; import com.azure.cosmos.models.CosmosItemRequestOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.PartitionKey; @@ -287,7 +287,7 @@ public Mono> upsertItem(T item, CosmosItemRequestOptio * error. */ CosmosPagedFlux readAllItems(Class classType) { - return readAllItems(new FeedOptions(), classType); + return readAllItems(new QueryRequestOptions(), classType); } /** @@ -303,7 +303,7 @@ CosmosPagedFlux readAllItems(Class classType) { * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the read Cosmos items or an * error. */ - CosmosPagedFlux readAllItems(FeedOptions options, Class classType) { + CosmosPagedFlux readAllItems(QueryRequestOptions options, Class classType) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return getDatabase().getDocClientWrapper().readDocuments(getLink(), options).map( @@ -337,12 +337,12 @@ public CosmosPagedFlux queryItems(String query, Class classType) { * * @param the type parameter. * @param query the query. - * @param options the feed options. + * @param options the query request options. * @param classType the class type. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the obtained items or an * error. */ - public CosmosPagedFlux queryItems(String query, FeedOptions options, Class classType) { + public CosmosPagedFlux queryItems(String query, QueryRequestOptions options, Class classType) { return queryItems(new SqlQuerySpec(query), options, classType); } @@ -360,11 +360,11 @@ public CosmosPagedFlux queryItems(String query, FeedOptions options, Clas * error. */ public CosmosPagedFlux queryItems(SqlQuerySpec querySpec, Class classType) { - return queryItems(querySpec, new FeedOptions(), classType); + return queryItems(querySpec, new QueryRequestOptions(), classType); } /** - * Query for items in the current container using a {@link SqlQuerySpec} and {@link FeedOptions}. + * Query for items in the current container using a {@link SqlQuerySpec} and {@link QueryRequestOptions}. *

* After subscription the operation will be performed. The {@link Flux} will * contain one or several feed response of the obtained items. In case of @@ -372,21 +372,21 @@ public CosmosPagedFlux queryItems(SqlQuerySpec querySpec, Class classT * * @param the type parameter. * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @param classType the class type. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the obtained items or an * error. */ - public CosmosPagedFlux queryItems(SqlQuerySpec querySpec, FeedOptions options, Class classType) { + public CosmosPagedFlux queryItems(SqlQuerySpec querySpec, QueryRequestOptions options, Class classType) { return queryItemsInternal(querySpec, options, classType); } private CosmosPagedFlux queryItemsInternal( - SqlQuerySpec sqlQuerySpec, FeedOptions feedOptions, Class classType) { + SqlQuerySpec sqlQuerySpec, QueryRequestOptions queryRequestOptions, Class classType) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { - setContinuationTokenAndMaxItemCount(pagedFluxOptions, feedOptions); + setContinuationTokenAndMaxItemCount(pagedFluxOptions, queryRequestOptions); return getDatabase().getDocClientWrapper() - .queryDocuments(CosmosAsyncContainer.this.getLink(), sqlQuerySpec, feedOptions) + .queryDocuments(CosmosAsyncContainer.this.getLink(), sqlQuerySpec, queryRequestOptions) .map(response -> prepareFeedResponse(response, classType)); }); @@ -573,11 +573,11 @@ public CosmosAsyncScripts getScripts() { /** * Lists all the conflicts in the current container. * - * @param options the feed options + * @param options the query request options * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the * obtained conflicts or an error. */ - public CosmosPagedFlux readAllConflicts(FeedOptions options) { + public CosmosPagedFlux readAllConflicts(QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return database.getDocClientWrapper().readConflicts(getLink(), options) @@ -595,18 +595,18 @@ public CosmosPagedFlux readAllConflicts(FeedOptions op * obtained conflicts or an error. */ public CosmosPagedFlux queryConflicts(String query) { - return queryConflicts(query, new FeedOptions()); + return queryConflicts(query, new QueryRequestOptions()); } /** * Queries all the conflicts in the current container. * * @param query the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the * obtained conflicts or an error. */ - public CosmosPagedFlux queryConflicts(String query, FeedOptions options) { + public CosmosPagedFlux queryConflicts(String query, QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return database.getDocClientWrapper().queryConflicts(getLink(), query, options) @@ -637,7 +637,7 @@ public Mono replaceThroughput(ThroughputProperties throughpu .flatMap(response -> this.database.getDocClientWrapper() .queryOffers(database.getOfferQuerySpecFromResourceId(response.getProperties() .getResourceId()) - , new FeedOptions()) + , new QueryRequestOptions()) .single() .flatMap(offerFeedResponse -> { if (offerFeedResponse.getResults().isEmpty()) { @@ -668,7 +668,7 @@ public Mono readThroughput() { .flatMap(response -> this.database.getDocClientWrapper() .queryOffers(database.getOfferQuerySpecFromResourceId(response.getProperties() .getResourceId()) - , new FeedOptions()) + , new QueryRequestOptions()) .single() .flatMap(offerFeedResponse -> { if (offerFeedResponse.getResults().isEmpty()) { diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncDatabase.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncDatabase.java index e6dc4fc498a8..bfa352d8f8c0 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncDatabase.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncDatabase.java @@ -13,7 +13,7 @@ import com.azure.cosmos.models.CosmosContainerRequestOptions; import com.azure.cosmos.models.CosmosDatabaseRequestOptions; import com.azure.cosmos.models.CosmosUserProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.SqlParameter; import com.azure.cosmos.models.SqlQuerySpec; @@ -424,11 +424,11 @@ private Mono createContainerIfNotExistsInternal( * contain one or several feed response of the read containers. In case of * failure the {@link CosmosPagedFlux} will error. * - * @param options {@link FeedOptions} + * @param options {@link QueryRequestOptions} * @return a {@link CosmosPagedFlux} containing one or several feed response pages of read * containers or an error. */ - public CosmosPagedFlux readAllContainers(FeedOptions options) { + public CosmosPagedFlux readAllContainers(QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return getDocClientWrapper().readCollections(getLink(), options) @@ -449,7 +449,7 @@ public CosmosPagedFlux readAllContainers(FeedOptions * containers or an error. */ public CosmosPagedFlux readAllContainers() { - return readAllContainers(new FeedOptions()); + return readAllContainers(new QueryRequestOptions()); } /** @@ -475,11 +475,11 @@ public CosmosPagedFlux queryContainers(String query) * failure the {@link CosmosPagedFlux} will error. * * @param query the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the * obtained containers or an error. */ - public CosmosPagedFlux queryContainers(String query, FeedOptions options) { + public CosmosPagedFlux queryContainers(String query, QueryRequestOptions options) { return queryContainers(new SqlQuerySpec(query), options); } @@ -495,7 +495,7 @@ public CosmosPagedFlux queryContainers(String query, * obtained containers or an error. */ public CosmosPagedFlux queryContainers(SqlQuerySpec querySpec) { - return queryContainers(querySpec, new FeedOptions()); + return queryContainers(querySpec, new QueryRequestOptions()); } /** @@ -506,11 +506,11 @@ public CosmosPagedFlux queryContainers(SqlQuerySpec q * failure the {@link CosmosPagedFlux} will error. * * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the * obtained containers or an error. */ - public CosmosPagedFlux queryContainers(SqlQuerySpec querySpec, FeedOptions options) { + public CosmosPagedFlux queryContainers(SqlQuerySpec querySpec, QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return getDocClientWrapper().queryCollections(getLink(), querySpec, options) @@ -575,7 +575,7 @@ public Mono upsertUser(CosmosUserProperties userProperties) * read cosmos users or an error. */ public CosmosPagedFlux readAllUsers() { - return readAllUsers(new FeedOptions()); + return readAllUsers(new QueryRequestOptions()); } /** @@ -585,11 +585,11 @@ public CosmosPagedFlux readAllUsers() { * contain one or several feed response of the read cosmos users. In case of * failure the {@link CosmosPagedFlux} will error. * - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the * read cosmos users or an error. */ - CosmosPagedFlux readAllUsers(FeedOptions options) { + CosmosPagedFlux readAllUsers(QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return getDocClientWrapper().readUsers(getLink(), options) @@ -611,7 +611,7 @@ CosmosPagedFlux readAllUsers(FeedOptions options) { * obtained users or an error. */ public CosmosPagedFlux queryUsers(String query) { - return queryUsers(query, new FeedOptions()); + return queryUsers(query, new QueryRequestOptions()); } /** @@ -622,11 +622,11 @@ public CosmosPagedFlux queryUsers(String query) { * failure the {@link CosmosPagedFlux} will error. * * @param query query as string. - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the * obtained users or an error. */ - public CosmosPagedFlux queryUsers(String query, FeedOptions options) { + public CosmosPagedFlux queryUsers(String query, QueryRequestOptions options) { return queryUsers(new SqlQuerySpec(query), options); } @@ -642,7 +642,7 @@ public CosmosPagedFlux queryUsers(String query, FeedOption * obtained users or an error. */ public CosmosPagedFlux queryUsers(SqlQuerySpec querySpec) { - return queryUsers(querySpec, new FeedOptions()); + return queryUsers(querySpec, new QueryRequestOptions()); } /** @@ -653,11 +653,11 @@ public CosmosPagedFlux queryUsers(SqlQuerySpec querySpec) * failure the {@link CosmosPagedFlux} will error. * * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the * obtained users or an error. */ - public CosmosPagedFlux queryUsers(SqlQuerySpec querySpec, FeedOptions options) { + public CosmosPagedFlux queryUsers(SqlQuerySpec querySpec, QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return getDocClientWrapper().queryUsers(getLink(), querySpec, options) @@ -688,7 +688,7 @@ public Mono replaceThroughput(ThroughputProperties throughpu return this.read() .flatMap(response -> this.getDocClientWrapper() .queryOffers(getOfferQuerySpecFromResourceId(response.getProperties().getResourceId()), - new FeedOptions()) + new QueryRequestOptions()) .single() .flatMap(offerFeedResponse -> { if (offerFeedResponse.getResults().isEmpty()) { @@ -720,7 +720,7 @@ public Mono readThroughput() { return this.read() .flatMap(response -> getDocClientWrapper() .queryOffers(getOfferQuerySpecFromResourceId(response.getProperties().getResourceId()), - new FeedOptions()) + new QueryRequestOptions()) .single() .flatMap(offerFeedResponse -> { if (offerFeedResponse.getResults().isEmpty()) { diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncScripts.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncScripts.java index d2f9ff2a350d..a6a3a76c8198 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncScripts.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncScripts.java @@ -12,7 +12,7 @@ import com.azure.cosmos.models.CosmosStoredProcedureRequestOptions; import com.azure.cosmos.models.CosmosTriggerProperties; import com.azure.cosmos.models.CosmosUserDefinedFunctionProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.SqlQuerySpec; import com.azure.cosmos.util.CosmosPagedFlux; @@ -90,7 +90,7 @@ public Mono createStoredProcedure( * properties or an error. */ public CosmosPagedFlux readAllStoredProcedures() { - return readAllStoredProcedures(new FeedOptions()); + return readAllStoredProcedures(new QueryRequestOptions()); } /** @@ -101,12 +101,12 @@ public CosmosPagedFlux readAllStoredProcedures( * procedure properties. * In case of failure the {@link CosmosPagedFlux} will error. * - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the read cosmos stored * procedures * properties or an error. */ - CosmosPagedFlux readAllStoredProcedures(FeedOptions options) { + CosmosPagedFlux readAllStoredProcedures(QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return database.getDocClientWrapper() @@ -125,14 +125,14 @@ CosmosPagedFlux readAllStoredProcedures(FeedOpt * In case of failure the {@link CosmosPagedFlux} will error. * * @param query the the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the obtained stored * procedures or * an error. */ public CosmosPagedFlux queryStoredProcedures( String query, - FeedOptions options) { + QueryRequestOptions options) { return queryStoredProcedures(new SqlQuerySpec(query), options); } @@ -144,14 +144,14 @@ public CosmosPagedFlux queryStoredProcedures( * In case of failure the {@link CosmosPagedFlux} will error. * * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the obtained stored * procedures or * an error. */ public CosmosPagedFlux queryStoredProcedures( SqlQuerySpec querySpec, - FeedOptions options) { + QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return database.getDocClientWrapper() @@ -209,7 +209,7 @@ public Mono createUserDefinedFunction( * error. */ public CosmosPagedFlux readAllUserDefinedFunctions() { - return readAllUserDefinedFunctions(new FeedOptions()); + return readAllUserDefinedFunctions(new QueryRequestOptions()); } /** @@ -219,12 +219,12 @@ public CosmosPagedFlux readAllUserDefinedFu * The {@link CosmosPagedFlux} will contain one or several feed response pages of the read user defined functions. * In case of failure the {@link CosmosPagedFlux} will error. * - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the read user defined * functions or an * error. */ - CosmosPagedFlux readAllUserDefinedFunctions(FeedOptions options) { + CosmosPagedFlux readAllUserDefinedFunctions(QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return database.getDocClientWrapper() @@ -244,14 +244,14 @@ CosmosPagedFlux readAllUserDefinedFunctions * In case of failure the {@link CosmosPagedFlux} will error. * * @param query the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the obtained user defined * functions * or an error. */ public CosmosPagedFlux queryUserDefinedFunctions( String query, - FeedOptions options) { + QueryRequestOptions options) { return queryUserDefinedFunctions(new SqlQuerySpec(query), options); } @@ -264,14 +264,14 @@ public CosmosPagedFlux queryUserDefinedFunc * In case of failure the {@link CosmosPagedFlux} will error. * * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the obtained user defined * functions * or an error. */ public CosmosPagedFlux queryUserDefinedFunctions( SqlQuerySpec querySpec, - FeedOptions options) { + QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return database.getDocClientWrapper() @@ -326,7 +326,7 @@ public Mono createTrigger(CosmosTriggerProperties propert * an error. */ public CosmosPagedFlux readAllTriggers() { - return readAllTriggers(new FeedOptions()); + return readAllTriggers(new QueryRequestOptions()); } /** @@ -337,12 +337,12 @@ public CosmosPagedFlux readAllTriggers() { * properties. * In case of failure the {@link CosmosPagedFlux} will error. * - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the read cosmos rigger * properties or * an error. */ - CosmosPagedFlux readAllTriggers(FeedOptions options) { + CosmosPagedFlux readAllTriggers(QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return database.getDocClientWrapper() @@ -361,11 +361,11 @@ CosmosPagedFlux readAllTriggers(FeedOptions options) { * In case of failure the {@link CosmosPagedFlux} will error. * * @param query the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the obtained triggers or an * error. */ - public CosmosPagedFlux queryTriggers(String query, FeedOptions options) { + public CosmosPagedFlux queryTriggers(String query, QueryRequestOptions options) { return queryTriggers(new SqlQuerySpec(query), options); } @@ -377,13 +377,13 @@ public CosmosPagedFlux queryTriggers(String query, Feed * In case of failure the {@link CosmosPagedFlux} will error. * * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the obtained triggers or an * error. */ public CosmosPagedFlux queryTriggers( SqlQuerySpec querySpec, - FeedOptions options) { + QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return database.getDocClientWrapper() diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncUser.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncUser.java index 1de782768192..b14974b83709 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncUser.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncUser.java @@ -9,7 +9,7 @@ import com.azure.cosmos.models.CosmosPermissionProperties; import com.azure.cosmos.models.CosmosPermissionRequestOptions; import com.azure.cosmos.models.CosmosUserProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.implementation.Permission; import com.azure.cosmos.util.CosmosPagedFlux; @@ -144,7 +144,7 @@ public Mono upsertPermission( * error. */ public CosmosPagedFlux readAllPermissions() { - return readAllPermissions(new FeedOptions()); + return readAllPermissions(new QueryRequestOptions()); } /** @@ -154,11 +154,11 @@ public CosmosPagedFlux readAllPermissions() { * The {@link CosmosPagedFlux} will contain one or several feed response pages of the read permissions. * In case of failure the {@link CosmosPagedFlux} will error. * - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the read permissions or an * error. */ - CosmosPagedFlux readAllPermissions(FeedOptions options) { + CosmosPagedFlux readAllPermissions(QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return getDatabase().getDocClientWrapper() @@ -181,7 +181,7 @@ CosmosPagedFlux readAllPermissions(FeedOptions optio * an error. */ public CosmosPagedFlux queryPermissions(String query) { - return queryPermissions(query, new FeedOptions()); + return queryPermissions(query, new QueryRequestOptions()); } /** @@ -192,11 +192,11 @@ public CosmosPagedFlux queryPermissions(String query * In case of failure the {@link CosmosPagedFlux} will error. * * @param query the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the obtained permissions or * an error. */ - public CosmosPagedFlux queryPermissions(String query, FeedOptions options) { + public CosmosPagedFlux queryPermissions(String query, QueryRequestOptions options) { return UtilBridgeInternal.createCosmosPagedFlux(pagedFluxOptions -> { setContinuationTokenAndMaxItemCount(pagedFluxOptions, options); return getDatabase().getDocClientWrapper() diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClient.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClient.java index 58ed37381ae1..1f4ce425c38f 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClient.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClient.java @@ -7,7 +7,7 @@ import com.azure.cosmos.models.CosmosDatabaseProperties; import com.azure.cosmos.models.CosmosDatabaseRequestOptions; import com.azure.cosmos.models.CosmosDatabaseResponse; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.SqlQuerySpec; import com.azure.cosmos.models.ThroughputProperties; import com.azure.cosmos.util.CosmosPagedFlux; @@ -150,10 +150,10 @@ CosmosDatabaseResponse blockDatabaseResponse(Mono databa /** * Reads all Cosmos databases. * - * @param options {@link FeedOptions}the feed options. + * @param options {@link QueryRequestOptions}the feed options. * @return the {@link CosmosPagedIterable} for feed response with the read databases. */ - CosmosPagedIterable readAllDatabases(FeedOptions options) { + CosmosPagedIterable readAllDatabases(QueryRequestOptions options) { return getCosmosPagedIterable(asyncClientWrapper.readAllDatabases(options)); } @@ -170,10 +170,10 @@ public CosmosPagedIterable readAllDatabases() { * Query a Cosmos database. * * @param query the query. - * @param options {@link FeedOptions}the feed options. + * @param options {@link QueryRequestOptions}the feed options. * @return the {@link CosmosPagedIterable} for feed response with the obtained databases. */ - public CosmosPagedIterable queryDatabases(String query, FeedOptions options) { + public CosmosPagedIterable queryDatabases(String query, QueryRequestOptions options) { return getCosmosPagedIterable(asyncClientWrapper.queryDatabases(query, options)); } @@ -181,11 +181,11 @@ public CosmosPagedIterable queryDatabases(String query * Query a Cosmos database. * * @param querySpec {@link SqlQuerySpec} the query spec. - * @param options the query. + * @param options the query request options. * @return the {@link CosmosPagedIterable} for feed response with the obtained databases. */ public CosmosPagedIterable queryDatabases(SqlQuerySpec querySpec, - FeedOptions options) { + QueryRequestOptions options) { return getCosmosPagedIterable(asyncClientWrapper.queryDatabases(querySpec, options)); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosContainer.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosContainer.java index 657adbd44bcf..8d940b2184be 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosContainer.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosContainer.java @@ -8,7 +8,7 @@ import com.azure.cosmos.models.CosmosContainerRequestOptions; import com.azure.cosmos.models.CosmosContainerResponse; import com.azure.cosmos.models.CosmosItemRequestOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.models.SqlQuerySpec; import com.azure.cosmos.models.ThroughputProperties; @@ -239,7 +239,7 @@ private CosmosItemResponse blockDeleteItemResponse(Mono CosmosPagedIterable readAllItems(FeedOptions options, Class classType) { + CosmosPagedIterable readAllItems(QueryRequestOptions options, Class classType) { return getCosmosPagedIterable(this.asyncContainer.readAllItems(options, classType)); } @@ -252,7 +252,7 @@ CosmosPagedIterable readAllItems(FeedOptions options, Class classType) * @param classType the class type. * @return the {@link CosmosPagedIterable}. */ - public CosmosPagedIterable queryItems(String query, FeedOptions options, Class classType) { + public CosmosPagedIterable queryItems(String query, QueryRequestOptions options, Class classType) { return getCosmosPagedIterable(this.asyncContainer.queryItems(query, options, classType)); } @@ -265,7 +265,7 @@ public CosmosPagedIterable queryItems(String query, FeedOptions options, * @param classType the class type. * @return the {@link CosmosPagedIterable}. */ - public CosmosPagedIterable queryItems(SqlQuerySpec querySpec, FeedOptions options, Class classType) { + public CosmosPagedIterable queryItems(SqlQuerySpec querySpec, QueryRequestOptions options, Class classType) { return getCosmosPagedIterable(this.asyncContainer.queryItems(querySpec, options, classType)); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosDatabase.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosDatabase.java index 08457cf2759f..c1873669857d 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosDatabase.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosDatabase.java @@ -10,7 +10,7 @@ import com.azure.cosmos.models.CosmosDatabaseResponse; import com.azure.cosmos.models.CosmosUserProperties; import com.azure.cosmos.models.CosmosUserResponse; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.SqlQuerySpec; import com.azure.cosmos.models.ThroughputProperties; import com.azure.cosmos.models.ThroughputResponse; @@ -302,7 +302,7 @@ CosmosContainerResponse blockContainerResponse(Mono con * @param options the options. * @return the {@link CosmosPagedIterable}. */ - CosmosPagedIterable readAllContainers(FeedOptions options) { + CosmosPagedIterable readAllContainers(QueryRequestOptions options) { return getCosmosPagedIterable(databaseWrapper.readAllContainers(options)); } @@ -332,7 +332,7 @@ public CosmosPagedIterable queryContainers(String que * @param options the options. * @return the {@link CosmosPagedIterable}. */ - public CosmosPagedIterable queryContainers(String query, FeedOptions options) { + public CosmosPagedIterable queryContainers(String query, QueryRequestOptions options) { return getCosmosPagedIterable(databaseWrapper.queryContainers(query, options)); } @@ -355,7 +355,7 @@ public CosmosPagedIterable queryContainers(SqlQuerySp */ public CosmosPagedIterable queryContainers( SqlQuerySpec querySpec, - FeedOptions options) { + QueryRequestOptions options) { return getCosmosPagedIterable(databaseWrapper.queryContainers(querySpec, options)); } @@ -411,7 +411,7 @@ public CosmosPagedIterable readAllUsers() { * @param options the options. * @return the {@link CosmosPagedIterable}. */ - CosmosPagedIterable readAllUsers(FeedOptions options) { + CosmosPagedIterable readAllUsers(QueryRequestOptions options) { return getCosmosPagedIterable(databaseWrapper.readAllUsers(options)); } @@ -432,7 +432,7 @@ public CosmosPagedIterable queryUsers(String query) { * @param options the options. * @return the {@link CosmosPagedIterable}. */ - public CosmosPagedIterable queryUsers(String query, FeedOptions options) { + public CosmosPagedIterable queryUsers(String query, QueryRequestOptions options) { return getCosmosPagedIterable(databaseWrapper.queryUsers(query, options)); } @@ -453,7 +453,7 @@ public CosmosPagedIterable queryUsers(SqlQuerySpec querySp * @param options the options. * @return the {@link CosmosPagedIterable}. */ - public CosmosPagedIterable queryUsers(SqlQuerySpec querySpec, FeedOptions options) { + public CosmosPagedIterable queryUsers(SqlQuerySpec querySpec, QueryRequestOptions options) { return getCosmosPagedIterable(databaseWrapper.queryUsers(querySpec, options)); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosDiagnostics.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosDiagnostics.java index 5e180826e941..01c6c2dd7a2c 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosDiagnostics.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosDiagnostics.java @@ -48,7 +48,7 @@ CosmosDiagnostics clientSideRequestStatistics(ClientSideRequestStatistics client @Override public String toString() { StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("userAgent=").append(USER_AGENT).append("\n"); + stringBuilder.append("userAgent=").append(USER_AGENT).append(System.lineSeparator()); if (this.feedResponseDiagnostics != null) { stringBuilder.append(feedResponseDiagnostics); } else { diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosScripts.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosScripts.java index ff6d87c13678..b4eace296d80 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosScripts.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosScripts.java @@ -10,7 +10,7 @@ import com.azure.cosmos.models.CosmosStoredProcedureRequestOptions; import com.azure.cosmos.models.CosmosTriggerProperties; import com.azure.cosmos.models.CosmosUserDefinedFunctionProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.SqlQuerySpec; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.util.CosmosPagedIterable; @@ -69,7 +69,7 @@ public CosmosStoredProcedureResponse createStoredProcedure( * @return the {@link CosmosPagedIterable} */ public CosmosPagedIterable readAllStoredProcedures() { - return getCosmosPagedIterable(asyncScripts.readAllStoredProcedures(new FeedOptions())); + return getCosmosPagedIterable(asyncScripts.readAllStoredProcedures(new QueryRequestOptions())); } /** @@ -78,7 +78,7 @@ public CosmosPagedIterable readAllStoredProcedu * @param options the options * @return the {@link CosmosPagedIterable} */ - CosmosPagedIterable readAllStoredProcedures(FeedOptions options) { + CosmosPagedIterable readAllStoredProcedures(QueryRequestOptions options) { return getCosmosPagedIterable(asyncScripts.readAllStoredProcedures(options)); } @@ -91,7 +91,7 @@ CosmosPagedIterable readAllStoredProcedures(Fee */ public CosmosPagedIterable queryStoredProcedures( String query, - FeedOptions options) { + QueryRequestOptions options) { return getCosmosPagedIterable(asyncScripts.queryStoredProcedures(query, options)); } @@ -104,7 +104,7 @@ public CosmosPagedIterable queryStoredProcedure */ public CosmosPagedIterable queryStoredProcedures( SqlQuerySpec querySpec, - FeedOptions options) { + QueryRequestOptions options) { return getCosmosPagedIterable(asyncScripts.queryStoredProcedures(querySpec, options)); } @@ -140,7 +140,7 @@ public CosmosUserDefinedFunctionResponse createUserDefinedFunction(CosmosUserDef * @return the {@link CosmosPagedIterable} */ public CosmosPagedIterable readAllUserDefinedFunctions() { - return getCosmosPagedIterable(asyncScripts.readAllUserDefinedFunctions(new FeedOptions())); + return getCosmosPagedIterable(asyncScripts.readAllUserDefinedFunctions(new QueryRequestOptions())); } /** @@ -150,7 +150,7 @@ public CosmosPagedIterable readAllUserDefin * @return the {@link CosmosPagedIterable} */ CosmosPagedIterable readAllUserDefinedFunctions( - FeedOptions options) { + QueryRequestOptions options) { return getCosmosPagedIterable(asyncScripts.readAllUserDefinedFunctions(options)); } @@ -163,7 +163,7 @@ CosmosPagedIterable readAllUserDefinedFunct */ public CosmosPagedIterable queryUserDefinedFunctions( String query, - FeedOptions options) { + QueryRequestOptions options) { return getCosmosPagedIterable(asyncScripts.queryUserDefinedFunctions(new SqlQuerySpec(query), options)); } @@ -176,7 +176,7 @@ public CosmosPagedIterable queryUserDefined */ public CosmosPagedIterable queryUserDefinedFunctions( SqlQuerySpec querySpec, - FeedOptions options) { + QueryRequestOptions options) { return getCosmosPagedIterable(asyncScripts.queryUserDefinedFunctions(querySpec, options)); } @@ -210,7 +210,7 @@ public CosmosTriggerResponse createTrigger(CosmosTriggerProperties properties) { * @return the {@link CosmosPagedIterable} */ public CosmosPagedIterable readAllTriggers() { - return getCosmosPagedIterable(asyncScripts.readAllTriggers(new FeedOptions())); + return getCosmosPagedIterable(asyncScripts.readAllTriggers(new QueryRequestOptions())); } /** @@ -219,7 +219,7 @@ public CosmosPagedIterable readAllTriggers() { * @param options the options * @return the {@link CosmosPagedIterable} */ - CosmosPagedIterable readAllTriggers(FeedOptions options) { + CosmosPagedIterable readAllTriggers(QueryRequestOptions options) { return getCosmosPagedIterable(asyncScripts.readAllTriggers(options)); } @@ -230,7 +230,7 @@ CosmosPagedIterable readAllTriggers(FeedOptions options * @param options the options * @return the {@link CosmosPagedIterable} */ - public CosmosPagedIterable queryTriggers(String query, FeedOptions options) { + public CosmosPagedIterable queryTriggers(String query, QueryRequestOptions options) { return getCosmosPagedIterable(asyncScripts.queryTriggers(query, options)); } @@ -243,7 +243,7 @@ public CosmosPagedIterable queryTriggers(String query, */ public CosmosPagedIterable queryTriggers( SqlQuerySpec querySpec, - FeedOptions options) { + QueryRequestOptions options) { return getCosmosPagedIterable(asyncScripts.queryTriggers(querySpec, options)); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/AsyncDocumentClient.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/AsyncDocumentClient.java index a2db1cd2cf00..baefb81e1d0c 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/AsyncDocumentClient.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/AsyncDocumentClient.java @@ -5,7 +5,7 @@ import com.azure.core.credential.AzureKeyCredential; import com.azure.cosmos.ConsistencyLevel; import com.azure.cosmos.implementation.apachecommons.lang.StringUtils; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.models.SqlQuerySpec; @@ -339,10 +339,10 @@ public AzureKeyCredential getCredential() { * The {@link Flux} will contain one or several feed response of the read databases. * In case of failure the {@link Flux} will error. * - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of read databases or an error. */ - Flux> readDatabases(FeedOptions options); + Flux> readDatabases(QueryRequestOptions options); /** * Query for databases. @@ -352,10 +352,10 @@ public AzureKeyCredential getCredential() { * In case of failure the {@link Flux} will error. * * @param query the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of read databases or an error. */ - Flux> queryDatabases(String query, FeedOptions options); + Flux> queryDatabases(String query, QueryRequestOptions options); /** * Query for databases. @@ -365,10 +365,10 @@ public AzureKeyCredential getCredential() { * In case of failure the {@link Flux} will error. * * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained databases or an error. */ - Flux> queryDatabases(SqlQuerySpec querySpec, FeedOptions options); + Flux> queryDatabases(SqlQuerySpec querySpec, QueryRequestOptions options); /** * Creates a document collection. @@ -432,10 +432,10 @@ Mono> createCollection(String databaseLink, * In case of failure the {@link Flux} will error. * * @param databaseLink the database link. - * @param options the fee options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the read collections or an error. */ - Flux> readCollections(String databaseLink, FeedOptions options); + Flux> readCollections(String databaseLink, QueryRequestOptions options); /** * Query for document collections in a database. @@ -446,10 +446,10 @@ Mono> createCollection(String databaseLink, * * @param databaseLink the database link. * @param query the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained collections or an error. */ - Flux> queryCollections(String databaseLink, String query, FeedOptions options); + Flux> queryCollections(String databaseLink, String query, QueryRequestOptions options); /** * Query for document collections in a database. @@ -460,10 +460,10 @@ Mono> createCollection(String databaseLink, * * @param databaseLink the database link. * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained collections or an error. */ - Flux> queryCollections(String databaseLink, SqlQuerySpec querySpec, FeedOptions options); + Flux> queryCollections(String databaseLink, SqlQuerySpec querySpec, QueryRequestOptions options); /** * Creates a document. @@ -558,10 +558,10 @@ Mono> upsertDocument(String collectionLink, Object do * In case of failure the {@link Flux} will error. * * @param collectionLink the collection link. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the read documents or an error. */ - Flux> readDocuments(String collectionLink, FeedOptions options); + Flux> readDocuments(String collectionLink, QueryRequestOptions options); /** @@ -573,10 +573,10 @@ Mono> upsertDocument(String collectionLink, Object do * * @param collectionLink the link to the parent document collection. * @param query the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained document or an error. */ - Flux> queryDocuments(String collectionLink, String query, FeedOptions options); + Flux> queryDocuments(String collectionLink, String query, QueryRequestOptions options); /** * Query for documents in a document collection. @@ -587,10 +587,10 @@ Mono> upsertDocument(String collectionLink, Object do * * @param collectionLink the link to the parent document collection. * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained documents or an error. */ - Flux> queryDocuments(String collectionLink, SqlQuerySpec querySpec, FeedOptions options); + Flux> queryDocuments(String collectionLink, SqlQuerySpec querySpec, QueryRequestOptions options); /** * Query for documents change feed in a document collection. @@ -612,10 +612,10 @@ Flux> queryDocumentChangeFeed(String collectionLink, * In case of failure the {@link Flux} will error. * * @param collectionLink the link to the parent document collection. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained partition key ranges or an error. */ - Flux> readPartitionKeyRanges(String collectionLink, FeedOptions options); + Flux> readPartitionKeyRanges(String collectionLink, QueryRequestOptions options); /** * Creates a stored procedure. @@ -694,10 +694,10 @@ Mono> upsertStoredProcedure(String collectionL * In case of failure the {@link Flux} will error. * * @param collectionLink the collection link. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the read stored procedures or an error. */ - Flux> readStoredProcedures(String collectionLink, FeedOptions options); + Flux> readStoredProcedures(String collectionLink, QueryRequestOptions options); /** * Query for stored procedures in a document collection. @@ -708,10 +708,10 @@ Mono> upsertStoredProcedure(String collectionL * * @param collectionLink the collection link. * @param query the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained stored procedures or an error. */ - Flux> queryStoredProcedures(String collectionLink, String query, FeedOptions options); + Flux> queryStoredProcedures(String collectionLink, String query, QueryRequestOptions options); /** * Query for stored procedures in a document collection. @@ -722,11 +722,11 @@ Mono> upsertStoredProcedure(String collectionL * * @param collectionLink the collection link. * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained stored procedures or an error. */ Flux> queryStoredProcedures(String collectionLink, SqlQuerySpec querySpec, - FeedOptions options); + QueryRequestOptions options); /** * Executes a stored procedure @@ -831,10 +831,10 @@ Mono executeStoredProcedure(String storedProcedureLink, * In case of failure the {@link Flux} will error. * * @param collectionLink the collection link. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the read triggers or an error. */ - Flux> readTriggers(String collectionLink, FeedOptions options); + Flux> readTriggers(String collectionLink, QueryRequestOptions options); /** * Query for triggers. @@ -845,10 +845,10 @@ Mono executeStoredProcedure(String storedProcedureLink, * * @param collectionLink the collection link. * @param query the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained triggers or an error. */ - Flux> queryTriggers(String collectionLink, String query, FeedOptions options); + Flux> queryTriggers(String collectionLink, String query, QueryRequestOptions options); /** * Query for triggers. @@ -859,10 +859,10 @@ Mono executeStoredProcedure(String storedProcedureLink, * * @param collectionLink the collection link. * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained triggers or an error. */ - Flux> queryTriggers(String collectionLink, SqlQuerySpec querySpec, FeedOptions options); + Flux> queryTriggers(String collectionLink, SqlQuerySpec querySpec, QueryRequestOptions options); /** * Creates a user defined function. @@ -941,10 +941,10 @@ Mono> upsertUserDefinedFunction(String col * In case of failure the {@link Flux} will error. * * @param collectionLink the collection link. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the read user defined functions or an error. */ - Flux> readUserDefinedFunctions(String collectionLink, FeedOptions options); + Flux> readUserDefinedFunctions(String collectionLink, QueryRequestOptions options); /** * Query for user defined functions. @@ -955,11 +955,11 @@ Mono> upsertUserDefinedFunction(String col * * @param collectionLink the collection link. * @param query the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained user defined functions or an error. */ Flux> queryUserDefinedFunctions(String collectionLink, String query, - FeedOptions options); + QueryRequestOptions options); /** * Query for user defined functions. @@ -970,11 +970,11 @@ Flux> queryUserDefinedFunctions(String collect * * @param collectionLink the collection link. * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained user defined functions or an error. */ Flux> queryUserDefinedFunctions(String collectionLink, SqlQuerySpec querySpec, - FeedOptions options); + QueryRequestOptions options); /** * Reads a conflict. @@ -997,10 +997,10 @@ Flux> queryUserDefinedFunctions(String collect * In case of failure the {@link Flux} will error. * * @param collectionLink the collection link. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the read conflicts or an error. */ - Flux> readConflicts(String collectionLink, FeedOptions options); + Flux> readConflicts(String collectionLink, QueryRequestOptions options); /** * Query for conflicts. @@ -1011,10 +1011,10 @@ Flux> queryUserDefinedFunctions(String collect * * @param collectionLink the collection link. * @param query the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained conflicts or an error. */ - Flux> queryConflicts(String collectionLink, String query, FeedOptions options); + Flux> queryConflicts(String collectionLink, String query, QueryRequestOptions options); /** * Query for conflicts. @@ -1025,10 +1025,10 @@ Flux> queryUserDefinedFunctions(String collect * * @param collectionLink the collection link. * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained conflicts or an error. */ - Flux> queryConflicts(String collectionLink, SqlQuerySpec querySpec, FeedOptions options); + Flux> queryConflicts(String collectionLink, SqlQuerySpec querySpec, QueryRequestOptions options); /** * Deletes a conflict. @@ -1118,10 +1118,10 @@ Flux> queryUserDefinedFunctions(String collect * In case of failure the {@link Flux} will error. * * @param databaseLink the database link. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the read users or an error. */ - Flux> readUsers(String databaseLink, FeedOptions options); + Flux> readUsers(String databaseLink, QueryRequestOptions options); /** * Query for users. @@ -1132,10 +1132,10 @@ Flux> queryUserDefinedFunctions(String collect * * @param databaseLink the database link. * @param query the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained users or an error. */ - Flux> queryUsers(String databaseLink, String query, FeedOptions options); + Flux> queryUsers(String databaseLink, String query, QueryRequestOptions options); /** * Query for users. @@ -1146,10 +1146,10 @@ Flux> queryUserDefinedFunctions(String collect * * @param databaseLink the database link. * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained users or an error. */ - Flux> queryUsers(String databaseLink, SqlQuerySpec querySpec, FeedOptions options); + Flux> queryUsers(String databaseLink, SqlQuerySpec querySpec, QueryRequestOptions options); /** * Creates a permission. @@ -1226,10 +1226,10 @@ Flux> queryUserDefinedFunctions(String collect * In case of failure the {@link Flux} will error. * * @param permissionLink the permission link. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the read permissions or an error. */ - Flux> readPermissions(String permissionLink, FeedOptions options); + Flux> readPermissions(String permissionLink, QueryRequestOptions options); /** * Query for permissions. @@ -1240,10 +1240,10 @@ Flux> queryUserDefinedFunctions(String collect * * @param permissionLink the permission link. * @param query the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained permissions or an error. */ - Flux> queryPermissions(String permissionLink, String query, FeedOptions options); + Flux> queryPermissions(String permissionLink, String query, QueryRequestOptions options); /** * Query for permissions. @@ -1254,10 +1254,10 @@ Flux> queryUserDefinedFunctions(String collect * * @param permissionLink the permission link. * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained permissions or an error. */ - Flux> queryPermissions(String permissionLink, SqlQuerySpec querySpec, FeedOptions options); + Flux> queryPermissions(String permissionLink, SqlQuerySpec querySpec, QueryRequestOptions options); /** * Replaces an offer. @@ -1290,10 +1290,10 @@ Flux> queryUserDefinedFunctions(String collect * The {@link Flux} will contain one or several feed response pages of the read offers. * In case of failure the {@link Flux} will error. * - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the read offers or an error. */ - Flux> readOffers(FeedOptions options); + Flux> readOffers(QueryRequestOptions options); /** * Query for offers in a database. @@ -1303,10 +1303,10 @@ Flux> queryUserDefinedFunctions(String collect * In case of failure the {@link Flux} will error. * * @param query the query. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained offers or an error. */ - Flux> queryOffers(String query, FeedOptions options); + Flux> queryOffers(String query, QueryRequestOptions options); /** * Query for offers in a database. @@ -1316,10 +1316,10 @@ Flux> queryUserDefinedFunctions(String collect * In case of failure the {@link Flux} will error. * * @param querySpec the query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained offers or an error. */ - Flux> queryOffers(SqlQuerySpec querySpec, FeedOptions options); + Flux> queryOffers(SqlQuerySpec querySpec, QueryRequestOptions options); /** * Gets database account information. @@ -1336,14 +1336,14 @@ Flux> queryUserDefinedFunctions(String collect * Reads many documents at once * @param itemKeyList document id and partition key pair that needs to be read * @param collectionLink link for the documentcollection/container to be queried - * @param options the feed options + * @param options the query request options * @param klass class type * @return a Mono with feed response of documents */ Mono> readMany( List> itemKeyList, String collectionLink, - FeedOptions options, + QueryRequestOptions options, Class klass); /** diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/FeedResponseDiagnostics.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/FeedResponseDiagnostics.java index ec89efb39737..77cc5b36a945 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/FeedResponseDiagnostics.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/FeedResponseDiagnostics.java @@ -42,7 +42,7 @@ public String toString() { queryMetricsMap.forEach((key, value) -> stringBuilder.append(key) .append("=") .append(value.toString()) - .append("\n")); + .append(System.lineSeparator())); return stringBuilder.toString(); } } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/InvalidPartitionExceptionRetryPolicy.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/InvalidPartitionExceptionRetryPolicy.java index 653ab64acf17..8d578a4d0421 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/InvalidPartitionExceptionRetryPolicy.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/InvalidPartitionExceptionRetryPolicy.java @@ -5,7 +5,8 @@ import com.azure.cosmos.BridgeInternal; import com.azure.cosmos.implementation.caches.RxCollectionCache; import com.azure.cosmos.CosmosException; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.ModelBridgeInternal; +import com.azure.cosmos.models.QueryRequestOptions; import reactor.core.publisher.Mono; import java.time.Duration; @@ -19,7 +20,7 @@ public class InvalidPartitionExceptionRetryPolicy extends DocumentClientRetryPol private final RxCollectionCache clientCollectionCache; private final DocumentClientRetryPolicy nextPolicy; private final String collectionLink; - private final FeedOptions feedOptions; + private final QueryRequestOptions queryRequestOptions; private RxDocumentServiceRequest request; private volatile boolean retried = false; @@ -27,14 +28,14 @@ public class InvalidPartitionExceptionRetryPolicy extends DocumentClientRetryPol public InvalidPartitionExceptionRetryPolicy(RxCollectionCache collectionCache, DocumentClientRetryPolicy nextPolicy, String resourceFullName, - FeedOptions feedOptions) { + QueryRequestOptions queryRequestOptions) { this.clientCollectionCache = collectionCache; this.nextPolicy = nextPolicy; // TODO the resource address should be inferred from exception this.collectionLink = Utils.getCollectionName(resourceFullName); - this.feedOptions = feedOptions; + this.queryRequestOptions = queryRequestOptions; } @Override @@ -53,11 +54,11 @@ public Mono shouldRetry(Exception e) { // TODO: resource address should be accessible from the exception //this.clientCollectionCache.Refresh(clientException.ResourceAddress); // TODO: this is blocking. is that fine? - if(this.feedOptions != null) { + if(this.queryRequestOptions != null) { this.clientCollectionCache.refresh( BridgeInternal.getMetaDataDiagnosticContext(this.request.requestContext.cosmosDiagnostics), collectionLink, - this.feedOptions.getProperties()); + ModelBridgeInternal.getPropertiesFromQueryRequestOptions(this.queryRequestOptions)); } else { this.clientCollectionCache.refresh( BridgeInternal.getMetaDataDiagnosticContext(this.request.requestContext.cosmosDiagnostics), diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ItemOperations.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ItemOperations.java index 6b8940c447da..f9bd47bc4cc5 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ItemOperations.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ItemOperations.java @@ -7,7 +7,7 @@ import com.azure.cosmos.CosmosAsyncContainer; import com.azure.cosmos.CosmosBridgeInternal; import com.azure.cosmos.CosmosContainer; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.implementation.apachecommons.lang.tuple.Pair; @@ -50,14 +50,14 @@ public static Mono> readManyAsync(CosmosAsyncContainer conta Class classType) { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(-1); - return readManyInternal(container, itemKeyList, new FeedOptions(), classType); + return readManyInternal(container, itemKeyList, new QueryRequestOptions(), classType); } static Mono> readManyInternal(CosmosAsyncContainer container, List> itemKeyList, - FeedOptions options, + QueryRequestOptions options, Class classType) { return CosmosBridgeInternal.getAsyncDocumentClient(container.getDatabase()) diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/PartitionKeyRangeGoneRetryPolicy.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/PartitionKeyRangeGoneRetryPolicy.java index 8e65591c33ae..8e19fb281d80 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/PartitionKeyRangeGoneRetryPolicy.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/PartitionKeyRangeGoneRetryPolicy.java @@ -7,7 +7,8 @@ import com.azure.cosmos.implementation.caches.RxCollectionCache; import com.azure.cosmos.implementation.routing.CollectionRoutingMap; import com.azure.cosmos.CosmosException; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.ModelBridgeInternal; +import com.azure.cosmos.models.QueryRequestOptions; import reactor.core.publisher.Mono; import java.time.Duration; @@ -23,7 +24,7 @@ public class PartitionKeyRangeGoneRetryPolicy extends DocumentClientRetryPolicy private final DocumentClientRetryPolicy nextRetryPolicy; private final IPartitionKeyRangeCache partitionKeyRangeCache; private final String collectionLink; - private final FeedOptions feedOptions; + private final QueryRequestOptions queryRequestOptions; private volatile boolean retried; private RxDocumentServiceRequest request; @@ -32,12 +33,12 @@ public PartitionKeyRangeGoneRetryPolicy( IPartitionKeyRangeCache partitionKeyRangeCache, String collectionLink, DocumentClientRetryPolicy nextRetryPolicy, - FeedOptions feedOptions) { + QueryRequestOptions queryRequestOptions) { this.collectionCache = collectionCache; this.partitionKeyRangeCache = partitionKeyRangeCache; this.collectionLink = collectionLink; this.nextRetryPolicy = nextRetryPolicy; - this.feedOptions = feedOptions; + this.queryRequestOptions = queryRequestOptions; this.request = null; } @@ -64,8 +65,8 @@ public Mono shouldRetry(Exception exception) { null // AuthorizationTokenType.PrimaryMasterKey) ); - if (this.feedOptions != null) { - request.properties = this.feedOptions.getProperties(); + if (this.queryRequestOptions != null) { + request.properties = ModelBridgeInternal.getPropertiesFromQueryRequestOptions(this.queryRequestOptions); } Mono> collectionObs = this.collectionCache.resolveCollectionAsync( BridgeInternal.getMetaDataDiagnosticContext(this.request.requestContext.cosmosDiagnostics), diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentClientImpl.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentClientImpl.java index 5431d4ca1334..0b6eb7cdfdf9 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentClientImpl.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentClientImpl.java @@ -9,7 +9,7 @@ import com.azure.cosmos.DirectConnectionConfig; import com.azure.cosmos.implementation.query.PipelinedDocumentQueryExecutionContext; import com.azure.cosmos.implementation.query.QueryInfo; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.models.ModelBridgeInternal; @@ -508,7 +508,7 @@ private Mono> readDatabaseInternal(String databaseLin } @Override - public Flux> readDatabases(FeedOptions options) { + public Flux> readDatabases(QueryRequestOptions options) { return readFeed(options, ResourceType.Database, Database.class, Paths.DATABASES_ROOT); } @@ -552,7 +552,7 @@ private String parentResourceLinkToQueryLink(String parentResouceLink, ResourceT private Flux> createQuery( String parentResourceLink, SqlQuerySpec sqlQuery, - FeedOptions options, + QueryRequestOptions options, Class klass, ResourceType resourceTypeEnum) { @@ -581,13 +581,13 @@ private Flux> createQuery( } @Override - public Flux> queryDatabases(String query, FeedOptions options) { + public Flux> queryDatabases(String query, QueryRequestOptions options) { return queryDatabases(new SqlQuerySpec(query), options); } @Override - public Flux> queryDatabases(SqlQuerySpec querySpec, FeedOptions options) { + public Flux> queryDatabases(SqlQuerySpec querySpec, QueryRequestOptions options) { return createQuery(Paths.DATABASES_ROOT, querySpec, options, Database.class, ResourceType.Database); } @@ -807,7 +807,7 @@ private Mono> readCollectionInternal(String } @Override - public Flux> readCollections(String databaseLink, FeedOptions options) { + public Flux> readCollections(String databaseLink, QueryRequestOptions options) { if (StringUtils.isEmpty(databaseLink)) { throw new IllegalArgumentException("databaseLink"); @@ -819,13 +819,13 @@ public Flux> readCollections(String databaseLin @Override public Flux> queryCollections(String databaseLink, String query, - FeedOptions options) { + QueryRequestOptions options) { return createQuery(databaseLink, new SqlQuerySpec(query), options, DocumentCollection.class, ResourceType.DocumentCollection); } @Override public Flux> queryCollections(String databaseLink, - SqlQuerySpec querySpec, FeedOptions options) { + SqlQuerySpec querySpec, QueryRequestOptions options) { return createQuery(databaseLink, querySpec, options, DocumentCollection.class, ResourceType.DocumentCollection); } @@ -1449,7 +1449,7 @@ private Mono> readDocumentInternal(String documentLin } @Override - public Flux> readDocuments(String collectionLink, FeedOptions options) { + public Flux> readDocuments(String collectionLink, QueryRequestOptions options) { if (StringUtils.isEmpty(collectionLink)) { throw new IllegalArgumentException("collectionLink"); @@ -1462,7 +1462,7 @@ public Flux> readDocuments(String collectionLink, FeedOpt public Mono> readMany( List> itemKeyList, String collectionLink, - FeedOptions options, + QueryRequestOptions options, Class klass) { RxDocumentServiceRequest request = RxDocumentServiceRequest.create( @@ -1669,7 +1669,7 @@ private String createPkSelector(PartitionKeyDefinition partitionKeyDefinition) { private Flux> createReadManyQuery( String parentResourceLink, SqlQuerySpec sqlQuery, - FeedOptions options, + QueryRequestOptions options, Class klass, ResourceType resourceTypeEnum, DocumentCollection collection, @@ -1691,8 +1691,7 @@ private Flux> createReadManyQuery( } @Override - public Flux> queryDocuments(String collectionLink, String query, - FeedOptions options) { + public Flux> queryDocuments(String collectionLink, String query, QueryRequestOptions options) { return queryDocuments(collectionLink, new SqlQuerySpec(query), options); } @@ -1747,7 +1746,7 @@ public Mono readFeedAsync(RxDocumentServiceRequest re @Override public Flux> queryDocuments(String collectionLink, SqlQuerySpec querySpec, - FeedOptions options) { + QueryRequestOptions options) { return createQuery(collectionLink, querySpec, options, Document.class, ResourceType.Document); } @@ -1767,7 +1766,7 @@ public Flux> queryDocumentChangeFeed(final String collect @Override public Flux> readPartitionKeyRanges(final String collectionLink, - FeedOptions options) { + QueryRequestOptions options) { if (StringUtils.isEmpty(collectionLink)) { throw new IllegalArgumentException("collectionLink"); @@ -1993,7 +1992,7 @@ private Mono> readStoredProcedureInternal(Stri @Override public Flux> readStoredProcedures(String collectionLink, - FeedOptions options) { + QueryRequestOptions options) { if (StringUtils.isEmpty(collectionLink)) { throw new IllegalArgumentException("collectionLink"); @@ -2005,13 +2004,13 @@ public Flux> readStoredProcedures(String collectio @Override public Flux> queryStoredProcedures(String collectionLink, String query, - FeedOptions options) { + QueryRequestOptions options) { return queryStoredProcedures(collectionLink, new SqlQuerySpec(query), options); } @Override public Flux> queryStoredProcedures(String collectionLink, - SqlQuerySpec querySpec, FeedOptions options) { + SqlQuerySpec querySpec, QueryRequestOptions options) { return createQuery(collectionLink, querySpec, options, StoredProcedure.class, ResourceType.StoredProcedure); } @@ -2225,7 +2224,7 @@ private Mono> readTriggerInternal(String triggerLink, } @Override - public Flux> readTriggers(String collectionLink, FeedOptions options) { + public Flux> readTriggers(String collectionLink, QueryRequestOptions options) { if (StringUtils.isEmpty(collectionLink)) { throw new IllegalArgumentException("collectionLink"); @@ -2237,13 +2236,13 @@ public Flux> readTriggers(String collectionLink, FeedOptio @Override public Flux> queryTriggers(String collectionLink, String query, - FeedOptions options) { + QueryRequestOptions options) { return queryTriggers(collectionLink, new SqlQuerySpec(query), options); } @Override public Flux> queryTriggers(String collectionLink, SqlQuerySpec querySpec, - FeedOptions options) { + QueryRequestOptions options) { return createQuery(collectionLink, querySpec, options, Trigger.class, ResourceType.Trigger); } @@ -2424,7 +2423,7 @@ private Mono> readUserDefinedFunctionInter @Override public Flux> readUserDefinedFunctions(String collectionLink, - FeedOptions options) { + QueryRequestOptions options) { if (StringUtils.isEmpty(collectionLink)) { throw new IllegalArgumentException("collectionLink"); @@ -2436,13 +2435,13 @@ public Flux> readUserDefinedFunctions(String c @Override public Flux> queryUserDefinedFunctions(String collectionLink, - String query, FeedOptions options) { + String query, QueryRequestOptions options) { return queryUserDefinedFunctions(collectionLink, new SqlQuerySpec(query), options); } @Override public Flux> queryUserDefinedFunctions(String collectionLink, - SqlQuerySpec querySpec, FeedOptions options) { + SqlQuerySpec querySpec, QueryRequestOptions options) { return createQuery(collectionLink, querySpec, options, UserDefinedFunction.class, ResourceType.UserDefinedFunction); } @@ -2481,7 +2480,7 @@ private Mono> readConflictInternal(String conflictLin } @Override - public Flux> readConflicts(String collectionLink, FeedOptions options) { + public Flux> readConflicts(String collectionLink, QueryRequestOptions options) { if (StringUtils.isEmpty(collectionLink)) { throw new IllegalArgumentException("collectionLink"); @@ -2493,13 +2492,13 @@ public Flux> readConflicts(String collectionLink, FeedOpt @Override public Flux> queryConflicts(String collectionLink, String query, - FeedOptions options) { + QueryRequestOptions options) { return queryConflicts(collectionLink, new SqlQuerySpec(query), options); } @Override public Flux> queryConflicts(String collectionLink, SqlQuerySpec querySpec, - FeedOptions options) { + QueryRequestOptions options) { return createQuery(collectionLink, querySpec, options, Conflict.class, ResourceType.Conflict); } @@ -2687,7 +2686,7 @@ private Mono> readUserInternal(String userLink, RequestOp } @Override - public Flux> readUsers(String databaseLink, FeedOptions options) { + public Flux> readUsers(String databaseLink, QueryRequestOptions options) { if (StringUtils.isEmpty(databaseLink)) { throw new IllegalArgumentException("databaseLink"); @@ -2698,13 +2697,13 @@ public Flux> readUsers(String databaseLink, FeedOptions optio } @Override - public Flux> queryUsers(String databaseLink, String query, FeedOptions options) { + public Flux> queryUsers(String databaseLink, String query, QueryRequestOptions options) { return queryUsers(databaseLink, new SqlQuerySpec(query), options); } @Override public Flux> queryUsers(String databaseLink, SqlQuerySpec querySpec, - FeedOptions options) { + QueryRequestOptions options) { return createQuery(databaseLink, querySpec, options, User.class, ResourceType.User); } @@ -2866,7 +2865,7 @@ private Mono> readPermissionInternal(String permiss } @Override - public Flux> readPermissions(String userLink, FeedOptions options) { + public Flux> readPermissions(String userLink, QueryRequestOptions options) { if (StringUtils.isEmpty(userLink)) { throw new IllegalArgumentException("userLink"); @@ -2878,13 +2877,13 @@ public Flux> readPermissions(String userLink, FeedOptio @Override public Flux> queryPermissions(String userLink, String query, - FeedOptions options) { + QueryRequestOptions options) { return queryPermissions(userLink, new SqlQuerySpec(query), options); } @Override public Flux> queryPermissions(String userLink, SqlQuerySpec querySpec, - FeedOptions options) { + QueryRequestOptions options) { return createQuery(userLink, querySpec, options, Permission.class, ResourceType.Permission); } @@ -2942,7 +2941,7 @@ private Mono> readOfferInternal(String offerLink, Docume } @Override - public Flux> readOffers(FeedOptions options) { + public Flux> readOffers(QueryRequestOptions options) { return readFeed(options, ResourceType.Offer, Offer.class, Utils.joinPath(Paths.OFFERS_PATH_SEGMENT, null)); } @@ -2982,13 +2981,14 @@ public Flux> readOffers(FeedOptions options) { // return Paginator.getPaginatedQueryResultAsObservable(options, createRequestFunc, executeFunc, klass, maxPageSize); // } - private Flux> readFeed(FeedOptions options, ResourceType resourceType, Class klass, String resourceLink) { + private Flux> readFeed(QueryRequestOptions options, ResourceType resourceType, Class klass, String resourceLink) { if (options == null) { - options = new FeedOptions(); + options = new QueryRequestOptions(); } - int maxPageSize = options.getMaxItemCount() != null ? options.getMaxItemCount() : -1; - final FeedOptions finalFeedOptions = options; + Integer maxItemCount = ModelBridgeInternal.getMaxItemCountFromQueryRequestOptions(options); + int maxPageSize = maxItemCount != null ? maxItemCount : -1; + final QueryRequestOptions finalQueryRequestOptions = options; BiFunction createRequestFunc = (continuationToken, pageSize) -> { Map requestHeaders = new HashMap<>(); if (continuationToken != null) { @@ -2996,7 +2996,7 @@ private Flux> readFeed(FeedOptions options, } requestHeaders.put(HttpConstants.HttpHeaders.PAGE_SIZE, Integer.toString(pageSize)); RxDocumentServiceRequest request = RxDocumentServiceRequest.create(OperationType.ReadFeed, - resourceType, resourceLink, requestHeaders, finalFeedOptions); + resourceType, resourceLink, requestHeaders, finalQueryRequestOptions); return request; }; @@ -3009,12 +3009,12 @@ private Flux> readFeed(FeedOptions options, } @Override - public Flux> queryOffers(String query, FeedOptions options) { + public Flux> queryOffers(String query, QueryRequestOptions options) { return queryOffers(new SqlQuerySpec(query), options); } @Override - public Flux> queryOffers(SqlQuerySpec querySpec, FeedOptions options) { + public Flux> queryOffers(SqlQuerySpec querySpec, QueryRequestOptions options) { return createQuery(null, querySpec, options, Offer.class, ResourceType.Offer); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentServiceRequest.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentServiceRequest.java index e0f47de3ff71..bc8530ee46c9 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentServiceRequest.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentServiceRequest.java @@ -4,7 +4,7 @@ package com.azure.cosmos.implementation; import com.azure.cosmos.implementation.apachecommons.lang.StringUtils; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.SqlQuerySpec; import com.azure.cosmos.implementation.directconnectivity.WFConstants; @@ -1036,8 +1036,8 @@ private static Map getProperties(Object options) { return null; } else if (options instanceof RequestOptions) { return ((RequestOptions) options).getProperties(); - } else if (options instanceof FeedOptions) { - return ((FeedOptions) options).getProperties(); + } else if (options instanceof QueryRequestOptions) { + return ModelBridgeInternal.getPropertiesFromQueryRequestOptions((QueryRequestOptions) options); } else if (options instanceof ChangeFeedOptions) { return ((ChangeFeedOptions) options).getProperties(); } else { diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/Utils.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/Utils.java index 69d34828242b..565d2f7df0fe 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/Utils.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/Utils.java @@ -7,7 +7,7 @@ import com.azure.cosmos.implementation.uuid.EthernetAddress; import com.azure.cosmos.implementation.uuid.Generators; import com.azure.cosmos.implementation.uuid.impl.TimeBasedGenerator; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.ModelBridgeInternal; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; @@ -595,15 +595,15 @@ public static String utf8StringFromOrNull(byte[] bytes) { return new String(bytes, StandardCharsets.UTF_8); } - public static void setContinuationTokenAndMaxItemCount(CosmosPagedFluxOptions pagedFluxOptions, FeedOptions feedOptions) { + public static void setContinuationTokenAndMaxItemCount(CosmosPagedFluxOptions pagedFluxOptions, QueryRequestOptions queryRequestOptions) { if (pagedFluxOptions == null) { return; } if (pagedFluxOptions.getRequestContinuation() != null) { - ModelBridgeInternal.setFeedOptionsContinuationToken(feedOptions, pagedFluxOptions.getRequestContinuation()); + ModelBridgeInternal.setQueryRequestOptionsContinuationToken(queryRequestOptions, pagedFluxOptions.getRequestContinuation()); } if (pagedFluxOptions.getMaxItemCount() != null) { - ModelBridgeInternal.setFeedOptionsMaxItemCount(feedOptions, pagedFluxOptions.getMaxItemCount()); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(queryRequestOptions, pagedFluxOptions.getMaxItemCount()); } } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/caches/RxPartitionKeyRangeCache.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/caches/RxPartitionKeyRangeCache.java index 5b626421b704..70d885fe4193 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/caches/RxPartitionKeyRangeCache.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/caches/RxPartitionKeyRangeCache.java @@ -10,7 +10,8 @@ import com.azure.cosmos.implementation.AsyncDocumentClient; import com.azure.cosmos.CosmosException; import com.azure.cosmos.implementation.DocumentCollection; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.ModelBridgeInternal; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.implementation.NotFoundException; import com.azure.cosmos.implementation.Exceptions; import com.azure.cosmos.implementation.HttpConstants; @@ -27,7 +28,6 @@ import reactor.core.publisher.Mono; import java.time.Instant; -import java.time.ZoneOffset; import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -223,12 +223,12 @@ private Mono> getPartitionKeyRange(MetadataDiagnosticsCo return collectionObs.flatMap(coll -> { - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); if (properties != null) { - feedOptions.setProperties(properties); + ModelBridgeInternal.setQueryRequestOptionsProperties(queryRequestOptions, properties); } Instant addressCallStartTime = Instant.now(); - return client.readPartitionKeyRanges(coll.getSelfLink(), feedOptions) + return client.readPartitionKeyRanges(coll.getSelfLink(), queryRequestOptions) // maxConcurrent = 1 to makes it in the right getOrder .flatMap(p -> { if(metaDataDiagnosticsContext != null) { diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/ChangeFeedContextClient.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/ChangeFeedContextClient.java index 2bd79daf8f84..daaa1695874f 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/ChangeFeedContextClient.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/ChangeFeedContextClient.java @@ -12,7 +12,7 @@ import com.azure.cosmos.models.CosmosContainerRequestOptions; import com.azure.cosmos.models.CosmosDatabaseRequestOptions; import com.azure.cosmos.models.CosmosItemRequestOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.models.SqlQuerySpec; @@ -31,10 +31,10 @@ public interface ChangeFeedContextClient { * Reads the feed (sequence) of {@link PartitionKeyRange} for a database account from the Azure Cosmos DB service as an asynchronous operation. * * @param partitionKeyRangesOrCollectionLink the link of the resources to be read, or owner collection link, SelfLink or AltLink. E.g. /dbs/db_rid/colls/coll_rid/pkranges. - * @param feedOptions the options for the request; it can be set as null. + * @param queryRequestOptions the options for the request; it can be set as null. * @return an a {@link Flux} containing one or several feed response pages of the obtained items or an error. */ - Flux> readPartitionKeyRangeFeed(String partitionKeyRangesOrCollectionLink, FeedOptions feedOptions); + Flux> readPartitionKeyRangeFeed(String partitionKeyRangesOrCollectionLink, QueryRequestOptions queryRequestOptions); /** * Method to create a change feed query for documents. @@ -113,10 +113,10 @@ Mono> readItem(String itemId, PartitionKey partitionKe * * @param containerLink the reference to the parent container. * @param querySpec the SQL query specification. - * @param options the feed options. + * @param options the query request options. * @return a {@link Flux} containing one or several feed response pages of the obtained items or an error. */ - Flux> queryItems(CosmosAsyncContainer containerLink, SqlQuerySpec querySpec, FeedOptions options, Class klass); + Flux> queryItems(CosmosAsyncContainer containerLink, SqlQuerySpec querySpec, QueryRequestOptions options, Class klass); /** * @return the Cosmos client's service endpoint. diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/RequestOptionsFactory.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/RequestOptionsFactory.java index 06ec22ae9baa..d2c6ca493949 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/RequestOptionsFactory.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/RequestOptionsFactory.java @@ -3,14 +3,14 @@ package com.azure.cosmos.implementation.changefeed; import com.azure.cosmos.models.CosmosItemRequestOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; /** * Defines request options for lease requests to use with {@link LeaseStoreManager}. */ public interface RequestOptionsFactory { - CosmosItemRequestOptions createRequestOptions(Lease lease); + CosmosItemRequestOptions createItemRequestOptions(Lease lease); - FeedOptions createFeedOptions(); + QueryRequestOptions createQueryRequestOptions(); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/ChangeFeedContextClientImpl.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/ChangeFeedContextClientImpl.java index f4842424f038..f6f38841af69 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/ChangeFeedContextClientImpl.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/ChangeFeedContextClientImpl.java @@ -14,7 +14,7 @@ import com.azure.cosmos.models.CosmosContainerRequestOptions; import com.azure.cosmos.models.CosmosDatabaseRequestOptions; import com.azure.cosmos.models.CosmosItemRequestOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.PartitionKey; @@ -77,8 +77,8 @@ public ChangeFeedContextClientImpl(CosmosAsyncContainer cosmosContainer, Schedul } @Override - public Flux> readPartitionKeyRangeFeed(String partitionKeyRangesOrCollectionLink, FeedOptions feedOptions) { - return this.documentClient.readPartitionKeyRanges(partitionKeyRangesOrCollectionLink, feedOptions) + public Flux> readPartitionKeyRangeFeed(String partitionKeyRangesOrCollectionLink, QueryRequestOptions queryRequestOptions) { + return this.documentClient.readPartitionKeyRanges(partitionKeyRangesOrCollectionLink, queryRequestOptions) .publishOn(this.rxScheduler); } @@ -147,7 +147,7 @@ public Mono> readItem(String itemId, PartitionKey part @Override public Flux> queryItems(CosmosAsyncContainer containerLink, SqlQuerySpec querySpec, - FeedOptions options, Class klass) { + QueryRequestOptions options, Class klass) { return containerLink.queryItems(querySpec, options, klass) .byPage() .publishOn(this.rxScheduler); diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/DocumentServiceLeaseStore.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/DocumentServiceLeaseStore.java index e042aafcc65b..58d6c37782ed 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/DocumentServiceLeaseStore.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/DocumentServiceLeaseStore.java @@ -50,7 +50,7 @@ public Mono isInitialized() { CosmosItemProperties doc = new CosmosItemProperties(); doc.setId(markerDocId); - CosmosItemRequestOptions requestOptions = this.requestOptionsFactory.createRequestOptions( + CosmosItemRequestOptions requestOptions = this.requestOptionsFactory.createItemRequestOptions( ServiceItemLease.fromDocument(doc)); return this.client.readItem(markerDocId, new PartitionKey(markerDocId), requestOptions, CosmosItemProperties.class) @@ -124,7 +124,7 @@ public Mono releaseInitializationLock() { CosmosItemProperties doc = new CosmosItemProperties(); doc.setId(lockId); - CosmosItemRequestOptions requestOptions = this.requestOptionsFactory.createRequestOptions( + CosmosItemRequestOptions requestOptions = this.requestOptionsFactory.createItemRequestOptions( ServiceItemLease.fromDocument(doc)); if (requestOptions == null) { diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/LeaseStoreManagerImpl.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/LeaseStoreManagerImpl.java index b0b8b71f4bb2..72fd11164143 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/LeaseStoreManagerImpl.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/LeaseStoreManagerImpl.java @@ -200,7 +200,7 @@ public Mono delete(Lease lease) { return this.leaseDocumentClient .deleteItem(lease.getId(), new PartitionKey(lease.getId()), - this.requestOptionsFactory.createRequestOptions(lease)) + this.requestOptionsFactory.createItemRequestOptions(lease)) .onErrorResume( ex -> { if (ex instanceof CosmosException) { CosmosException e = (CosmosException) ex; @@ -229,7 +229,7 @@ public Mono acquire(Lease lease) { lease, lease.getId(), new PartitionKey(lease.getId()), - this.requestOptionsFactory.createRequestOptions(lease), + this.requestOptionsFactory.createItemRequestOptions(lease), serverLease -> { if (serverLease.getOwner() != null && !serverLease.getOwner().equalsIgnoreCase(oldOwner)) { logger.info("Partition {} lease was taken over by owner '{}'", lease.getLeaseToken(), serverLease.getOwner()); @@ -250,7 +250,7 @@ public Mono release(Lease lease) { return this.leaseDocumentClient.readItem(lease.getId(), new PartitionKey(lease.getId()), - this.requestOptionsFactory.createRequestOptions(lease), + this.requestOptionsFactory.createItemRequestOptions(lease), CosmosItemProperties.class) .onErrorResume( ex -> { if (ex instanceof CosmosException) { @@ -268,7 +268,7 @@ public Mono release(Lease lease) { refreshedLease, lease.getId(), new PartitionKey(lease.getId()), - this.requestOptionsFactory.createRequestOptions(lease), + this.requestOptionsFactory.createItemRequestOptions(lease), serverLease -> { if (serverLease.getOwner() != null) { @@ -296,7 +296,7 @@ public Mono renew(Lease lease) { return this.leaseDocumentClient.readItem(lease.getId(), new PartitionKey(lease.getId()), - this.requestOptionsFactory.createRequestOptions(lease), + this.requestOptionsFactory.createItemRequestOptions(lease), CosmosItemProperties.class) .onErrorResume( ex -> { if (ex instanceof CosmosException) { @@ -314,7 +314,7 @@ public Mono renew(Lease lease) { refreshedLease, lease.getId(), new PartitionKey(lease.getId()), - this.requestOptionsFactory.createRequestOptions(lease), + this.requestOptionsFactory.createItemRequestOptions(lease), serverLease -> { if (!serverLease.getOwner().equalsIgnoreCase(lease.getOwner())) { @@ -342,7 +342,7 @@ public Mono updateProperties(Lease lease) { lease, lease.getId(), new PartitionKey(lease.getId()), - this.requestOptionsFactory.createRequestOptions(lease), + this.requestOptionsFactory.createItemRequestOptions(lease), serverLease -> { if (!serverLease.getOwner().equalsIgnoreCase(lease.getOwner())) { logger.info("Partition '{}' lease was taken over by owner '{}'", lease.getLeaseToken(), serverLease.getOwner()); @@ -365,13 +365,13 @@ public Mono checkpoint(Lease lease, String continuationToken) { return this.leaseDocumentClient.readItem(lease.getId(), new PartitionKey(lease.getId()), - this.requestOptionsFactory.createRequestOptions(lease), + this.requestOptionsFactory.createItemRequestOptions(lease), CosmosItemProperties.class) .map( documentResourceResponse -> ServiceItemLease.fromDocument(BridgeInternal.getProperties(documentResourceResponse))) .flatMap( refreshedLease -> this.leaseUpdater.updateLease( refreshedLease, lease.getId(), new PartitionKey(lease.getId()), - this.requestOptionsFactory.createRequestOptions(lease), + this.requestOptionsFactory.createItemRequestOptions(lease), serverLease -> { if (serverLease.getOwner() != null && !serverLease.getOwner().equalsIgnoreCase(lease.getOwner())) { logger.info("Partition {} lease was taken over by owner '{}'", lease.getLeaseToken(), serverLease.getOwner()); @@ -422,7 +422,7 @@ private Flux listDocuments(String prefix) { Flux> query = this.leaseDocumentClient.queryItems( this.settings.getLeaseCollectionLink(), querySpec, - this.requestOptionsFactory.createFeedOptions(), + this.requestOptionsFactory.createQueryRequestOptions(), CosmosItemProperties.class); return query.flatMap( documentFeedResponse -> Flux.fromIterable(documentFeedResponse.getResults())) diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/PartitionSynchronizerImpl.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/PartitionSynchronizerImpl.java index b673d64bf93a..a49a39af2d6e 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/PartitionSynchronizerImpl.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/PartitionSynchronizerImpl.java @@ -3,7 +3,7 @@ package com.azure.cosmos.implementation.changefeed.implementation; import com.azure.cosmos.CosmosAsyncContainer; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.implementation.PartitionKeyRange; import com.azure.cosmos.implementation.changefeed.ChangeFeedContextClient; import com.azure.cosmos.implementation.changefeed.Lease; @@ -102,10 +102,10 @@ public Flux splitPartition(Lease lease) { private Flux enumPartitionKeyRanges() { String partitionKeyRangesPath = extractContainerSelfLink(this.collectionSelfLink); - FeedOptions feedOptions = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsContinuationTokenAndMaxItemCount(feedOptions, null, this.maxBatchSize); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsContinuationTokenAndMaxItemCount(queryRequestOptions, null, this.maxBatchSize); - return this.documentClient.readPartitionKeyRangeFeed(partitionKeyRangesPath, feedOptions) + return this.documentClient.readPartitionKeyRangeFeed(partitionKeyRangesPath, queryRequestOptions) .map(partitionKeyRangeFeedResponse -> partitionKeyRangeFeedResponse.getResults()) .flatMap(partitionKeyRangeList -> Flux.fromIterable(partitionKeyRangeList)) .onErrorResume(throwable -> { diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/PartitionedByIdCollectionRequestOptionsFactory.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/PartitionedByIdCollectionRequestOptionsFactory.java index 443538430642..2fa2d343c410 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/PartitionedByIdCollectionRequestOptionsFactory.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/PartitionedByIdCollectionRequestOptionsFactory.java @@ -3,7 +3,7 @@ package com.azure.cosmos.implementation.changefeed.implementation; import com.azure.cosmos.models.CosmosItemRequestOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.implementation.changefeed.Lease; import com.azure.cosmos.implementation.changefeed.RequestOptionsFactory; @@ -12,16 +12,12 @@ */ class PartitionedByIdCollectionRequestOptionsFactory implements RequestOptionsFactory { @Override - public CosmosItemRequestOptions createRequestOptions(Lease lease) { - CosmosItemRequestOptions requestOptions = new CosmosItemRequestOptions(); - - return requestOptions; + public CosmosItemRequestOptions createItemRequestOptions(Lease lease) { + return new CosmosItemRequestOptions(); } @Override - public FeedOptions createFeedOptions() { - FeedOptions feedOptions = new FeedOptions(); - - return feedOptions; + public QueryRequestOptions createQueryRequestOptions() { + return new QueryRequestOptions(); } } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DefaultDocumentQueryExecutionContext.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DefaultDocumentQueryExecutionContext.java index 257a8caa3f8f..e151e6fc2453 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DefaultDocumentQueryExecutionContext.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DefaultDocumentQueryExecutionContext.java @@ -3,7 +3,7 @@ package com.azure.cosmos.implementation.query; import com.azure.cosmos.BridgeInternal; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.implementation.Resource; @@ -59,14 +59,14 @@ public class DefaultDocumentQueryExecutionContext extends Do private static final String DEFAULT_PARTITION_KEY_RANGE_ID = "0"; public DefaultDocumentQueryExecutionContext(IDocumentQueryClient client, ResourceType resourceTypeEnum, - Class resourceType, SqlQuerySpec query, FeedOptions feedOptions, String resourceLink, - UUID correlatedActivityId, boolean isContinuationExpected) { + Class resourceType, SqlQuerySpec query, QueryRequestOptions queryRequestOptions, String resourceLink, + UUID correlatedActivityId, boolean isContinuationExpected) { super(client, resourceTypeEnum, resourceType, query, - feedOptions, + queryRequestOptions, resourceLink, false, correlatedActivityId); @@ -78,32 +78,33 @@ public DefaultDocumentQueryExecutionContext(IDocumentQueryClient client, Resourc } protected PartitionKeyInternal getPartitionKeyInternal() { - return this.feedOptions.getPartitionKey() == null ? null : BridgeInternal.getPartitionKeyInternal(feedOptions.getPartitionKey()); + return this.queryRequestOptions.getPartitionKey() == null ? null : BridgeInternal.getPartitionKeyInternal(queryRequestOptions.getPartitionKey()); } @Override public Flux> executeAsync() { - if (feedOptions == null) { - feedOptions = new FeedOptions(); + if (queryRequestOptions == null) { + queryRequestOptions = new QueryRequestOptions(); } - FeedOptions newFeedOptions = new FeedOptions(feedOptions); + QueryRequestOptions newQueryRequestOptions = ModelBridgeInternal.createQueryRequestOptions(queryRequestOptions); // We can not go to backend with the composite continuation token, // but we still need the gateway for the query plan. // The workaround is to try and parse the continuation token as a composite continuation token. // If it is, then we send the query to the gateway with max degree of parallelism to force getting back the query plan - String originalContinuation = newFeedOptions.getRequestContinuation(); + String originalContinuation = ModelBridgeInternal.getRequestContinuationFromQueryRequestOptions(newQueryRequestOptions); if (isClientSideContinuationToken(originalContinuation)) { // At this point we know we want back a query plan - ModelBridgeInternal.setFeedOptionsContinuationToken(newFeedOptions, null); - newFeedOptions.setMaxDegreeOfParallelism(Integer.MAX_VALUE); + ModelBridgeInternal.setQueryRequestOptionsContinuationToken(newQueryRequestOptions, null); + newQueryRequestOptions.setMaxDegreeOfParallelism(Integer.MAX_VALUE); } - int maxPageSize = newFeedOptions.getMaxItemCount() != null ? newFeedOptions.getMaxItemCount() : Constants.Properties.DEFAULT_MAX_PAGE_SIZE; + Integer maxItemCount = ModelBridgeInternal.getMaxItemCountFromQueryRequestOptions(newQueryRequestOptions); + int maxPageSize = maxItemCount != null ? maxItemCount : Constants.Properties.DEFAULT_MAX_PAGE_SIZE; BiFunction createRequestFunc = (continuationToken, pageSize) -> this.createRequestAsync(continuationToken, pageSize); @@ -111,7 +112,7 @@ public Flux> executeAsync() { Function>> executeFunc = executeInternalAsyncFunc(); return Paginator - .getPaginatedQueryResultAsObservable(newFeedOptions, createRequestFunc, executeFunc, resourceType, maxPageSize); + .getPaginatedQueryResultAsObservable(newQueryRequestOptions, createRequestFunc, executeFunc, resourceType, maxPageSize); } public Mono> getTargetPartitionKeyRanges(String resourceId, List> queryRanges) { @@ -134,14 +135,14 @@ protected Function>> executeInter IPartitionKeyRangeCache partitionKeyRangeCache = this.client.getPartitionKeyRangeCache(); DocumentClientRetryPolicy retryPolicyInstance = this.client.getResetSessionTokenRetryPolicy().getRequestPolicy(); - retryPolicyInstance = new InvalidPartitionExceptionRetryPolicy(collectionCache, retryPolicyInstance, resourceLink, feedOptions); + retryPolicyInstance = new InvalidPartitionExceptionRetryPolicy(collectionCache, retryPolicyInstance, resourceLink, queryRequestOptions); if (super.resourceTypeEnum.isPartitioned()) { retryPolicyInstance = new PartitionKeyRangeGoneRetryPolicy( collectionCache, partitionKeyRangeCache, PathsHelper.getCollectionPath(super.resourceLink), retryPolicyInstance, - feedOptions); + queryRequestOptions); } final DocumentClientRetryPolicy finalRetryPolicyInstance = retryPolicyInstance; @@ -191,8 +192,8 @@ public RxDocumentServiceRequest createRequestAsync(String continuationToken, Int this.query, this.getPartitionKeyInternal()); - if (!StringUtils.isEmpty(partitionKeyRangeIdInternal(feedOptions))) { - request.routeTo(new PartitionKeyRangeIdentity(partitionKeyRangeIdInternal(feedOptions))); + if (!StringUtils.isEmpty(partitionKeyRangeIdInternal(queryRequestOptions))) { + request.routeTo(new PartitionKeyRangeIdentity(partitionKeyRangeIdInternal(queryRequestOptions))); } return request; diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DocumentProducer.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DocumentProducer.java index 3663cf5c0c06..fde23d7b1a7f 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DocumentProducer.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DocumentProducer.java @@ -4,7 +4,7 @@ import com.azure.cosmos.BridgeInternal; import com.azure.cosmos.CosmosException; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.implementation.Resource; @@ -82,7 +82,7 @@ void populatePartitionedQueryMetrics() { protected final IDocumentQueryClient client; protected final String collectionRid; - protected final FeedOptions feedOptions; + protected final QueryRequestOptions queryRequestOptions; protected final Class resourceType; protected final PartitionKeyRange targetRange; protected final String collectionLink; @@ -100,7 +100,7 @@ void populatePartitionedQueryMetrics() { public DocumentProducer( IDocumentQueryClient client, String collectionResourceId, - FeedOptions feedOptions, + QueryRequestOptions queryRequestOptions, TriFunction createRequestFunc, Function>> executeRequestFunc, PartitionKeyRange targetRange, @@ -143,8 +143,8 @@ public DocumentProducer( this.correlatedActivityId = correlatedActivityId; - this.feedOptions = feedOptions != null ? feedOptions : new FeedOptions(); - ModelBridgeInternal.setFeedOptionsContinuationToken(this.feedOptions, initialContinuationToken); + this.queryRequestOptions = queryRequestOptions != null ? queryRequestOptions : new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsContinuationToken(this.queryRequestOptions, initialContinuationToken); this.lastResponseContinuationToken = initialContinuationToken; this.resourceType = resourceType; this.targetRange = targetRange; @@ -159,7 +159,7 @@ public Flux produceAsync() { (token, maxItemCount) -> createRequestFunc.apply(targetRange, token, maxItemCount); Flux> obs = Paginator .getPaginatedQueryResultAsObservable( - feedOptions.getRequestContinuation(), + ModelBridgeInternal.getRequestContinuationFromQueryRequestOptions(queryRequestOptions), sourcePartitionCreateRequestFunc, executeRequestFuncWithRetries, resourceType, @@ -229,7 +229,7 @@ protected DocumentProducer createChildDocumentProducerOnSplit( return new DocumentProducer( client, collectionRid, - feedOptions, + queryRequestOptions, createRequestFunc, executeRequestFuncWithRetries, targetRange, @@ -243,7 +243,12 @@ protected DocumentProducer createChildDocumentProducerOnSplit( } private Mono>> getReplacementRanges(Range range) { - return client.getPartitionKeyRangeCache().tryGetOverlappingRangesAsync(null, collectionRid, range, true, feedOptions.getProperties()); + return client.getPartitionKeyRangeCache().tryGetOverlappingRangesAsync( + null, + collectionRid, + range, + true, + ModelBridgeInternal.getPropertiesFromQueryRequestOptions(queryRequestOptions)); } private boolean isSplit(CosmosException e) { diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DocumentQueryExecutionContextBase.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DocumentQueryExecutionContextBase.java index 15891694f56d..0e813b606548 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DocumentQueryExecutionContextBase.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DocumentQueryExecutionContextBase.java @@ -6,7 +6,7 @@ import com.azure.cosmos.implementation.routing.PartitionKeyRangeIdentity; import com.azure.cosmos.BridgeInternal; import com.azure.cosmos.ConsistencyLevel; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.implementation.Resource; @@ -41,14 +41,14 @@ public abstract class DocumentQueryExecutionContextBase protected String resourceLink; protected IDocumentQueryClient client; protected Class resourceType; - protected FeedOptions feedOptions; + protected QueryRequestOptions queryRequestOptions; protected SqlQuerySpec query; protected UUID correlatedActivityId; protected boolean shouldExecuteQueryRequest; protected DocumentQueryExecutionContextBase(IDocumentQueryClient client, ResourceType resourceTypeEnum, - Class resourceType, SqlQuerySpec query, FeedOptions feedOptions, String resourceLink, - boolean getLazyFeedResponse, UUID correlatedActivityId) { + Class resourceType, SqlQuerySpec query, QueryRequestOptions queryRequestOptions, String resourceLink, + boolean getLazyFeedResponse, UUID correlatedActivityId) { // TODO: validate args are not null: client and feedOption should not be null this.client = client; @@ -56,7 +56,7 @@ protected DocumentQueryExecutionContextBase(IDocumentQueryClient client, Resourc this.resourceType = resourceType; this.query = query; this.shouldExecuteQueryRequest = (query != null); - this.feedOptions = feedOptions; + this.queryRequestOptions = queryRequestOptions; this.resourceLink = resourceLink; // this.getLazyFeedResponse = getLazyFeedResponse; this.correlatedActivityId = correlatedActivityId; @@ -113,9 +113,9 @@ protected Mono> getFeedResponse(Mono return response.map(resp -> BridgeInternal.toFeedResponsePage(resp, resourceType)); } - public FeedOptions getFeedOptions(String continuationToken, Integer maxPageSize) { - FeedOptions options = new FeedOptions(this.feedOptions); - ModelBridgeInternal.setFeedOptionsContinuationTokenAndMaxItemCount(options, continuationToken, maxPageSize); + public QueryRequestOptions getFeedOptions(String continuationToken, Integer maxPageSize) { + QueryRequestOptions options = ModelBridgeInternal.createQueryRequestOptions(this.queryRequestOptions); + ModelBridgeInternal.setQueryRequestOptionsContinuationTokenAndMaxItemCount(options, continuationToken, maxPageSize); return options; } @@ -123,12 +123,12 @@ private Mono executeQueryRequestInternalAsync(RxDocum return this.client.executeQueryAsync(request); } - public Map createCommonHeadersAsync(FeedOptions feedOptions) { + public Map createCommonHeadersAsync(QueryRequestOptions queryRequestOptions) { Map requestHeaders = new HashMap<>(); ConsistencyLevel defaultConsistencyLevel = this.client.getDefaultConsistencyLevelAsync(); ConsistencyLevel desiredConsistencyLevel = this.client.getDesiredConsistencyLevelAsync(); - if (!Strings.isNullOrEmpty(feedOptions.getSessionToken()) + if (!Strings.isNullOrEmpty(queryRequestOptions.getSessionToken()) && !ReplicatedResourceClientUtils.isReadingFromMaster(this.resourceTypeEnum, OperationType.ReadFeed)) { if (defaultConsistencyLevel == ConsistencyLevel.SESSION || (desiredConsistencyLevel == ConsistencyLevel.SESSION)) { @@ -138,7 +138,7 @@ public Map createCommonHeadersAsync(FeedOptions feedOptions) { // document and attachment) // don't span across partitions. Hence, session token returned by one partition // should not be used - // when quering resources from another partition. + // when querying resources from another partition. // Since master resources can span across partitions, don't send session token // to the backend. // As master resources are sync replicated, we should always get consistent @@ -146,33 +146,34 @@ public Map createCommonHeadersAsync(FeedOptions feedOptions) { // irrespective of the chosen replica. // For server resources, which don't span partitions, specify the session token // for correct replica to be chosen for servicing the query result. - requestHeaders.put(HttpConstants.HttpHeaders.SESSION_TOKEN, feedOptions.getSessionToken()); + requestHeaders.put(HttpConstants.HttpHeaders.SESSION_TOKEN, queryRequestOptions.getSessionToken()); } } - requestHeaders.put(HttpConstants.HttpHeaders.CONTINUATION, feedOptions.getRequestContinuation()); + requestHeaders.put(HttpConstants.HttpHeaders.CONTINUATION, ModelBridgeInternal.getRequestContinuationFromQueryRequestOptions(queryRequestOptions)); requestHeaders.put(HttpConstants.HttpHeaders.IS_QUERY, Strings.toString(true)); // Flow the pageSize only when we are not doing client eval - if (feedOptions.getMaxItemCount() != null && feedOptions.getMaxItemCount() > 0) { - requestHeaders.put(HttpConstants.HttpHeaders.PAGE_SIZE, Strings.toString(feedOptions.getMaxItemCount())); + Integer maxItemCount = ModelBridgeInternal.getMaxItemCountFromQueryRequestOptions(queryRequestOptions); + if (maxItemCount != null && maxItemCount > 0) { + requestHeaders.put(HttpConstants.HttpHeaders.PAGE_SIZE, Strings.toString(maxItemCount)); } - if (feedOptions.getMaxDegreeOfParallelism() != 0) { + if (queryRequestOptions.getMaxDegreeOfParallelism() != 0) { requestHeaders.put(HttpConstants.HttpHeaders.PARALLELIZE_CROSS_PARTITION_QUERY, Strings.toString(true)); } - if (this.feedOptions.setResponseContinuationTokenLimitInKb() > 0) { + if (this.queryRequestOptions.setResponseContinuationTokenLimitInKb() > 0) { requestHeaders.put(HttpConstants.HttpHeaders.RESPONSE_CONTINUATION_TOKEN_LIMIT_IN_KB, - Strings.toString(feedOptions.setResponseContinuationTokenLimitInKb())); + Strings.toString(queryRequestOptions.setResponseContinuationTokenLimitInKb())); } if (desiredConsistencyLevel != null) { requestHeaders.put(HttpConstants.HttpHeaders.CONSISTENCY_LEVEL, desiredConsistencyLevel.toString()); } - if(feedOptions.isQueryMetricsEnabled()){ - requestHeaders.put(HttpConstants.HttpHeaders.POPULATE_QUERY_METRICS, String.valueOf(feedOptions.isQueryMetricsEnabled())); + if(queryRequestOptions.isQueryMetricsEnabled()){ + requestHeaders.put(HttpConstants.HttpHeaders.POPULATE_QUERY_METRICS, String.valueOf(queryRequestOptions.isQueryMetricsEnabled())); } return requestHeaders; diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DocumentQueryExecutionContextFactory.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DocumentQueryExecutionContextFactory.java index 2a2550e88d26..31604f35a800 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DocumentQueryExecutionContextFactory.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/DocumentQueryExecutionContextFactory.java @@ -4,7 +4,7 @@ import com.azure.cosmos.implementation.BadRequestException; import com.azure.cosmos.BridgeInternal; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.implementation.Resource; import com.azure.cosmos.models.SqlQuerySpec; @@ -56,7 +56,7 @@ public static Flux resourceType, SqlQuerySpec query, - FeedOptions feedOptions, + QueryRequestOptions queryRequestOptions, String resourceLink, boolean isContinuationExpected, UUID correlatedActivityId) { @@ -73,7 +73,7 @@ public static Flux Flux> queryRanges = partitionedQueryExecutionInfo.getQueryRanges(); - if (feedOptions != null - && feedOptions.getPartitionKey() != null - && feedOptions.getPartitionKey() != PartitionKey.NONE) { + if (queryRequestOptions != null + && queryRequestOptions.getPartitionKey() != null + && queryRequestOptions.getPartitionKey() != PartitionKey.NONE) { PartitionKeyInternal internalPartitionKey = - BridgeInternal.getPartitionKeyInternal(feedOptions.getPartitionKey()); + BridgeInternal.getPartitionKeyInternal(queryRequestOptions.getPartitionKey()); Range range = Range .getPointRange(internalPartitionKey .getEffectivePartitionKeyString(internalPartitionKey, @@ -127,7 +127,7 @@ public static Flux Flux resourceType, SqlQuerySpec query, - FeedOptions feedOptions, + QueryRequestOptions queryRequestOptions, String resourceLink, boolean isContinuationExpected, PartitionedQueryExecutionInfo partitionedQueryExecutionInfo, @@ -153,7 +153,7 @@ public static Flux 0 || initialPageSize == -1, "MaxItemCount", "Invalid MaxItemCount %s", @@ -200,7 +200,7 @@ public static Flux Flux Flux> createReadManyQueryAsync( IDocumentQueryClient queryClient, String collectionResourceId, SqlQuerySpec sqlQuery, - Map rangeQueryMap, FeedOptions feedOptions, + Map rangeQueryMap, QueryRequestOptions queryRequestOptions, String resourceId, String collectionLink, UUID activityId, Class klass, ResourceType resourceTypeEnum) { return PipelinedDocumentQueryExecutionContext.createReadManyAsync(queryClient, collectionResourceId, sqlQuery, rangeQueryMap, - feedOptions, resourceId, collectionLink, + queryRequestOptions, resourceId, collectionLink, activityId, klass, resourceTypeEnum ); } } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/OrderByDocumentProducer.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/OrderByDocumentProducer.java index 0a93b8e4f19b..e28b0b9e5893 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/OrderByDocumentProducer.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/OrderByDocumentProducer.java @@ -3,7 +3,7 @@ package com.azure.cosmos.implementation.query; import com.azure.cosmos.BridgeInternal; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.implementation.Resource; import com.azure.cosmos.implementation.DocumentClientRetryPolicy; @@ -33,7 +33,7 @@ class OrderByDocumentProducer extends DocumentProducer { OrderbyRowComparer consumeComparer, IDocumentQueryClient client, String collectionResourceId, - FeedOptions feedOptions, + QueryRequestOptions queryRequestOptions, TriFunction createRequestFunc, Function>> executeRequestFunc, PartitionKeyRange targetRange, @@ -45,7 +45,7 @@ class OrderByDocumentProducer extends DocumentProducer { String initialContinuationToken, int top, Map targetRangeToOrderByContinuationTokenMap) { - super(client, collectionResourceId, feedOptions, createRequestFunc, executeRequestFunc, targetRange, collectionLink, + super(client, collectionResourceId, queryRequestOptions, createRequestFunc, executeRequestFunc, targetRange, collectionLink, createRetryPolicyFunc, resourceType, correlatedActivityId, initialPageSize, initialContinuationToken, top); this.consumeComparer = consumeComparer; this.targetRangeToOrderByContinuationTokenMap = targetRangeToOrderByContinuationTokenMap; @@ -77,7 +77,7 @@ protected DocumentProducer createChildDocumentProducerOnSplit( consumeComparer, client, collectionRid, - feedOptions, + queryRequestOptions, createRequestFunc, executeRequestFuncWithRetries, targetRange, diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/OrderByDocumentQueryExecutionContext.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/OrderByDocumentQueryExecutionContext.java index 7862f3670e7a..c0af226a8903 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/OrderByDocumentQueryExecutionContext.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/OrderByDocumentQueryExecutionContext.java @@ -5,7 +5,8 @@ import com.azure.cosmos.BridgeInternal; import com.azure.cosmos.CosmosException; import com.azure.cosmos.implementation.apachecommons.lang.NotImplementedException; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.ModelBridgeInternal; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.implementation.Resource; import com.azure.cosmos.models.SqlQuerySpec; @@ -57,7 +58,7 @@ private OrderByDocumentQueryExecutionContext( ResourceType resourceTypeEnum, Class klass, SqlQuerySpec query, - FeedOptions feedOptions, + QueryRequestOptions queryRequestOptions, String resourceLink, String rewrittenQuery, boolean isContinuationExpected, @@ -65,7 +66,7 @@ private OrderByDocumentQueryExecutionContext( OrderbyRowComparer consumeComparer, String collectionRid, UUID correlatedActivityId) { - super(client, partitionKeyRanges, resourceTypeEnum, klass, query, feedOptions, resourceLink, rewrittenQuery, + super(client, partitionKeyRanges, resourceTypeEnum, klass, query, queryRequestOptions, resourceLink, rewrittenQuery, isContinuationExpected, getLazyFeedResponse, correlatedActivityId); this.collectionRid = collectionRid; this.consumeComparer = consumeComparer; @@ -79,7 +80,7 @@ public static Flux> cre ResourceType resourceTypeEnum, Class resourceType, SqlQuerySpec expression, - FeedOptions feedOptions, + QueryRequestOptions queryRequestOptions, String resourceLink, String collectionRid, PartitionedQueryExecutionInfo partitionedQueryExecutionInfo, @@ -94,7 +95,7 @@ public static Flux> cre resourceTypeEnum, resourceType, expression, - feedOptions, + queryRequestOptions, resourceLink, partitionedQueryExecutionInfo.getQueryInfo().getRewrittenQuery(), isContinuationExpected, @@ -108,7 +109,7 @@ public static Flux> cre partitionedQueryExecutionInfo.getQueryInfo().getOrderBy(), partitionedQueryExecutionInfo.getQueryInfo().getOrderByExpressions(), initialPageSize, - feedOptions.getRequestContinuation()); + ModelBridgeInternal.getRequestContinuationFromQueryRequestOptions(queryRequestOptions)); return Flux.just(context); } catch (CosmosException dce) { @@ -360,7 +361,7 @@ protected OrderByDocumentProducer createDocumentProducer( PartitionKeyRange targetRange, String continuationToken, int initialPageSize, - FeedOptions feedOptions, + QueryRequestOptions queryRequestOptions, SqlQuerySpec querySpecForInit, Map commonRequestHeaders, TriFunction createRequestFunc, @@ -369,7 +370,7 @@ protected OrderByDocumentProducer createDocumentProducer( return new OrderByDocumentProducer(consumeComparer, client, collectionRid, - feedOptions, + queryRequestOptions, createRequestFunc, executeFunc, targetRange, @@ -547,7 +548,7 @@ public Flux> drainAsync( @Override public Flux> executeAsync() { - return drainAsync(feedOptions.getMaxItemCount()); + return drainAsync(ModelBridgeInternal.getMaxItemCountFromQueryRequestOptions(queryRequestOptions)); } private String getContinuationToken( diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/Paginator.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/Paginator.java index e274d0dcd7b2..e89aaf867898 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/Paginator.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/Paginator.java @@ -3,7 +3,8 @@ package com.azure.cosmos.implementation.query; import com.azure.cosmos.implementation.ChangeFeedOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.ModelBridgeInternal; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.implementation.Resource; import com.azure.cosmos.implementation.RxDocumentServiceRequest; @@ -32,12 +33,16 @@ public static Flux> getPaginatedChangeFeedQ } public static Flux> getPaginatedQueryResultAsObservable( - FeedOptions feedOptions, + QueryRequestOptions queryRequestOptions, BiFunction createRequestFunc, Function>> executeFunc, Class resourceType, int maxPageSize) { - return getPaginatedQueryResultAsObservable(feedOptions.getRequestContinuation(), createRequestFunc, executeFunc, resourceType, - -1, maxPageSize); + return getPaginatedQueryResultAsObservable( + ModelBridgeInternal.getRequestContinuationFromQueryRequestOptions(queryRequestOptions), + createRequestFunc, + executeFunc, + resourceType, + -1, maxPageSize); } public static Flux> getPaginatedQueryResultAsObservable( diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/ParallelDocumentQueryExecutionContext.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/ParallelDocumentQueryExecutionContext.java index 56bac1f5e38c..1a9f2d58833a 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/ParallelDocumentQueryExecutionContext.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/ParallelDocumentQueryExecutionContext.java @@ -4,7 +4,8 @@ import com.azure.cosmos.BridgeInternal; import com.azure.cosmos.CosmosException; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.ModelBridgeInternal; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.implementation.Resource; import com.azure.cosmos.models.SqlQuerySpec; @@ -37,7 +38,7 @@ */ public class ParallelDocumentQueryExecutionContext extends ParallelDocumentQueryExecutionContextBase { - private FeedOptions feedOptions; + private QueryRequestOptions queryRequestOptions; private ParallelDocumentQueryExecutionContext( IDocumentQueryClient client, @@ -45,16 +46,16 @@ private ParallelDocumentQueryExecutionContext( ResourceType resourceTypeEnum, Class resourceType, SqlQuerySpec query, - FeedOptions feedOptions, + QueryRequestOptions queryRequestOptions, String resourceLink, String rewrittenQuery, String collectionRid, boolean isContinuationExpected, boolean getLazyFeedResponse, UUID correlatedActivityId) { - super(client, partitionKeyRanges, resourceTypeEnum, resourceType, query, feedOptions, resourceLink, + super(client, partitionKeyRanges, resourceTypeEnum, resourceType, query, queryRequestOptions, resourceLink, rewrittenQuery, isContinuationExpected, getLazyFeedResponse, correlatedActivityId); - this.feedOptions = feedOptions; + this.queryRequestOptions = queryRequestOptions; } public static Flux> createAsync( @@ -62,7 +63,7 @@ public static Flux> cre ResourceType resourceTypeEnum, Class resourceType, SqlQuerySpec query, - FeedOptions feedOptions, + QueryRequestOptions queryRequestOptions, String resourceLink, String collectionRid, PartitionedQueryExecutionInfo partitionedQueryExecutionInfo, @@ -77,7 +78,7 @@ public static Flux> cre resourceTypeEnum, resourceType, query, - feedOptions, + queryRequestOptions, resourceLink, partitionedQueryExecutionInfo.getQueryInfo().getRewrittenQuery(), collectionRid, @@ -89,7 +90,7 @@ public static Flux> cre context.initialize(collectionRid, targetRanges, initialPageSize, - feedOptions.getRequestContinuation()); + ModelBridgeInternal.getRequestContinuationFromQueryRequestOptions(queryRequestOptions)); return Flux.just(context); } catch (CosmosException dce) { return Flux.error(dce); @@ -97,11 +98,11 @@ public static Flux> cre } public static Flux> createReadManyQueryAsync( - IDocumentQueryClient queryClient, - String collectionResourceId, SqlQuerySpec sqlQuery, - Map rangeQueryMap, - FeedOptions feedOptions, String collectionRid, String collectionLink, UUID activityId, Class klass, - ResourceType resourceTypeEnum) { + IDocumentQueryClient queryClient, + String collectionResourceId, SqlQuerySpec sqlQuery, + Map rangeQueryMap, + QueryRequestOptions queryRequestOptions, String collectionRid, String collectionLink, UUID activityId, Class klass, + ResourceType resourceTypeEnum) { List ranges = new ArrayList<>(); ranges.addAll(rangeQueryMap.keySet()); @@ -111,7 +112,7 @@ public static Flux> cre resourceTypeEnum, klass, sqlQuery, - feedOptions, + queryRequestOptions, collectionLink, sqlQuery.getQueryText(), collectionRid, @@ -120,7 +121,7 @@ public static Flux> cre activityId); context - .initializeReadMany(queryClient, collectionResourceId, sqlQuery, rangeQueryMap, feedOptions, + .initializeReadMany(queryClient, collectionResourceId, sqlQuery, rangeQueryMap, queryRequestOptions, activityId, collectionRid); return Flux.just(context); } @@ -204,9 +205,9 @@ private static class EmptyPagesFilterTransformer implements Function.DocumentProducerFeedResponse>, Flux>> { private final RequestChargeTracker tracker; private DocumentProducer.DocumentProducerFeedResponse previousPage; - private final FeedOptions feedOptions; + private final QueryRequestOptions queryRequestOptions; - public EmptyPagesFilterTransformer(RequestChargeTracker tracker, FeedOptions options) { + public EmptyPagesFilterTransformer(RequestChargeTracker tracker, QueryRequestOptions options) { if (tracker == null) { throw new IllegalArgumentException("Request Charge Tracker must not be null."); @@ -214,7 +215,7 @@ public EmptyPagesFilterTransformer(RequestChargeTracker tracker, FeedOptions opt this.tracker = tracker; this.previousPage = null; - this.feedOptions = options; + this.queryRequestOptions = options; } private DocumentProducer.DocumentProducerFeedResponse plusCharge( @@ -259,7 +260,7 @@ public Flux> apply(Flux.DocumentProducerFeed // results. return source.filter(documentProducerFeedResponse -> { if (documentProducerFeedResponse.pageResult.getResults().isEmpty() - && !this.feedOptions.isEmptyPagesAllowed()) { + && !ModelBridgeInternal.getEmptyPagesAllowedFromQueryRequestOptions(this.queryRequestOptions)) { // filter empty pages and accumulate charge tracker.addCharge(documentProducerFeedResponse.pageResult.getRequestCharge()); return false; @@ -342,18 +343,18 @@ public Flux> drainAsync( // Merge results from all partitions. .collect(Collectors.toList()); - int fluxConcurrency = fluxSequentialMergeConcurrency(feedOptions, obs.size()); - int fluxPrefetch = fluxSequentialMergePrefetch(feedOptions, obs.size(), maxPageSize, fluxConcurrency); + int fluxConcurrency = fluxSequentialMergeConcurrency(queryRequestOptions, obs.size()); + int fluxPrefetch = fluxSequentialMergePrefetch(queryRequestOptions, obs.size(), maxPageSize, fluxConcurrency); logger.debug("ParallelQuery: flux mergeSequential" + " concurrency {}, prefetch {}", fluxConcurrency, fluxPrefetch); return Flux.mergeSequential(obs, fluxConcurrency, fluxPrefetch) - .compose(new EmptyPagesFilterTransformer<>(new RequestChargeTracker(), this.feedOptions)); + .compose(new EmptyPagesFilterTransformer<>(new RequestChargeTracker(), this.queryRequestOptions)); } @Override public Flux> executeAsync() { - return this.drainAsync(feedOptions.getMaxItemCount()); + return this.drainAsync(ModelBridgeInternal.getMaxItemCountFromQueryRequestOptions(queryRequestOptions)); } protected DocumentProducer createDocumentProducer( @@ -361,7 +362,7 @@ protected DocumentProducer createDocumentProducer( PartitionKeyRange targetRange, String initialContinuationToken, int initialPageSize, - FeedOptions feedOptions, + QueryRequestOptions queryRequestOptions, SqlQuerySpec querySpecForInit, Map commonRequestHeaders, TriFunction createRequestFunc, @@ -369,7 +370,7 @@ protected DocumentProducer createDocumentProducer( Callable createRetryPolicyFunc) { return new DocumentProducer(client, collectionRid, - feedOptions, + queryRequestOptions, createRequestFunc, executeFunc, targetRange, @@ -382,7 +383,7 @@ protected DocumentProducer createDocumentProducer( top); } - private int fluxSequentialMergeConcurrency(FeedOptions options, int numberOfPartitions) { + private int fluxSequentialMergeConcurrency(QueryRequestOptions options, int numberOfPartitions) { int parallelism = options.getMaxDegreeOfParallelism(); if (parallelism < 0) { parallelism = Configs.getCPUCnt(); @@ -393,7 +394,7 @@ private int fluxSequentialMergeConcurrency(FeedOptions options, int numberOfPart return Math.min(numberOfPartitions, parallelism); } - private int fluxSequentialMergePrefetch(FeedOptions options, int numberOfPartitions, int pageSize, int fluxConcurrency) { + private int fluxSequentialMergePrefetch(QueryRequestOptions options, int numberOfPartitions, int pageSize, int fluxConcurrency) { int maxBufferedItemCount = options.getMaxBufferedItemCount(); if (maxBufferedItemCount <= 0) { diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/ParallelDocumentQueryExecutionContextBase.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/ParallelDocumentQueryExecutionContextBase.java index 6d7a79acf00a..12f8dc380b52 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/ParallelDocumentQueryExecutionContextBase.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/ParallelDocumentQueryExecutionContextBase.java @@ -12,7 +12,7 @@ import com.azure.cosmos.implementation.Strings; import com.azure.cosmos.implementation.routing.PartitionKeyInternal; import com.azure.cosmos.implementation.routing.Range; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.models.SqlQuerySpec; @@ -44,10 +44,10 @@ public abstract class ParallelDocumentQueryExecutionContextBase partitionKeyRanges, ResourceType resourceTypeEnum, Class resourceType, - SqlQuerySpec query, FeedOptions feedOptions, String resourceLink, String rewrittenQuery, - boolean isContinuationExpected, boolean getLazyFeedResponse, UUID correlatedActivityId) { - super(client, resourceTypeEnum, resourceType, query, feedOptions, resourceLink, getLazyFeedResponse, + List partitionKeyRanges, ResourceType resourceTypeEnum, Class resourceType, + SqlQuerySpec query, QueryRequestOptions queryRequestOptions, String resourceLink, String rewrittenQuery, + boolean isContinuationExpected, boolean getLazyFeedResponse, UUID correlatedActivityId) { + super(client, resourceTypeEnum, resourceType, query, queryRequestOptions, resourceLink, getLazyFeedResponse, correlatedActivityId); logger = LoggerFactory.getLogger(this.getClass()); @@ -76,8 +76,8 @@ protected void initialize(String collectionRid, headers.put(HttpConstants.HttpHeaders.PAGE_SIZE, Strings.toString(pageSize)); PartitionKeyInternal partitionKeyInternal = null; - if (feedOptions.getPartitionKey() != null && feedOptions.getPartitionKey() != PartitionKey.NONE) { - partitionKeyInternal = BridgeInternal.getPartitionKeyInternal(feedOptions.getPartitionKey()); + if (queryRequestOptions.getPartitionKey() != null && queryRequestOptions.getPartitionKey() != PartitionKey.NONE) { + partitionKeyInternal = BridgeInternal.getPartitionKeyInternal(queryRequestOptions.getPartitionKey()); headers.put(HttpConstants.HttpHeaders.PARTITION_KEY, partitionKeyInternal.toJson()); @@ -92,7 +92,7 @@ protected void initialize(String collectionRid, final PartitionKeyRange targetRange = entry.getKey(); final String continuationToken = entry.getValue(); DocumentProducer dp = createDocumentProducer(collectionRid, targetRange, - continuationToken, initialPageSize, feedOptions, + continuationToken, initialPageSize, queryRequestOptions, querySpecForInit, commonRequestHeaders, createRequestFunc, executeFunc, () -> client.getResetSessionTokenRetryPolicy().getRequestPolicy()); @@ -134,7 +134,7 @@ protected int findTargetRangeAndExtractContinuationTokens( } abstract protected DocumentProducer createDocumentProducer(String collectionRid, PartitionKeyRange targetRange, - String initialContinuationToken, int initialPageSize, FeedOptions feedOptions, SqlQuerySpec querySpecForInit, + String initialContinuationToken, int initialPageSize, QueryRequestOptions queryRequestOptions, SqlQuerySpec querySpecForInit, Map commonRequestHeaders, TriFunction createRequestFunc, Function>> executeFunc, @@ -154,7 +154,7 @@ public void setTop(int newTop) { protected void initializeReadMany( IDocumentQueryClient queryClient, String collectionResourceId, SqlQuerySpec sqlQuerySpec, Map rangeQueryMap, - FeedOptions feedOptions, + QueryRequestOptions queryRequestOptions, UUID activityId, String collectionRid) { Map commonRequestHeaders = createCommonHeadersAsync(this.getFeedOptions(null, null)); @@ -182,7 +182,7 @@ protected void initializeReadMany( // TODO: Review pagesize -1 DocumentProducer dp = createDocumentProducer(collectionRid, targetRange, - null, -1, feedOptions, + null, -1, queryRequestOptions, querySpec, commonRequestHeaders, createRequestFunc, executeFunc, () -> client.getResetSessionTokenRetryPolicy() diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/PipelinedDocumentQueryExecutionContext.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/PipelinedDocumentQueryExecutionContext.java index 062a73a0c0f9..cd6a88bf4e63 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/PipelinedDocumentQueryExecutionContext.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/query/PipelinedDocumentQueryExecutionContext.java @@ -2,7 +2,7 @@ // Licensed under the MIT License. package com.azure.cosmos.implementation.query; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.implementation.Resource; @@ -47,7 +47,7 @@ private PipelinedDocumentQueryExecutionContext(IDocumentQueryExecutionComponent< public static Flux> createAsync( IDocumentQueryClient client, ResourceType resourceTypeEnum, Class resourceType, SqlQuerySpec expression, - FeedOptions feedOptions, String resourceLink, String collectionRid, + QueryRequestOptions queryRequestOptions, String resourceLink, String collectionRid, PartitionedQueryExecutionInfo partitionedQueryExecutionInfo, List targetRanges, int initialPageSize, boolean isContinuationExpected, boolean getLazyFeedResponse, UUID correlatedActivityId) { @@ -58,19 +58,19 @@ public static Flux { - FeedOptions orderByFeedOptions = new FeedOptions(feedOptions); - ModelBridgeInternal.setFeedOptionsContinuationToken(orderByFeedOptions, continuationToken); + QueryRequestOptions orderByQueryRequestOptions = ModelBridgeInternal.createQueryRequestOptions(queryRequestOptions); + ModelBridgeInternal.setQueryRequestOptionsContinuationToken(orderByQueryRequestOptions, continuationToken); return OrderByDocumentQueryExecutionContext.createAsync(client, resourceTypeEnum, resourceType, - expression, orderByFeedOptions, resourceLink, collectionRid, partitionedQueryExecutionInfo, + expression, orderByQueryRequestOptions, resourceLink, collectionRid, partitionedQueryExecutionInfo, targetRanges, initialPageSize, isContinuationExpected, getLazyFeedResponse, correlatedActivityId); }; } else { createBaseComponentFunction = (continuationToken) -> { - FeedOptions parallelFeedOptions = new FeedOptions(feedOptions); - ModelBridgeInternal.setFeedOptionsContinuationToken(parallelFeedOptions, continuationToken); + QueryRequestOptions parallelQueryRequestOptions = ModelBridgeInternal.createQueryRequestOptions(queryRequestOptions); + ModelBridgeInternal.setQueryRequestOptionsContinuationToken(parallelQueryRequestOptions, continuationToken); return ParallelDocumentQueryExecutionContext.createAsync(client, resourceTypeEnum, resourceType, - expression, parallelFeedOptions, resourceLink, collectionRid, partitionedQueryExecutionInfo, + expression, parallelQueryRequestOptions, resourceLink, collectionRid, partitionedQueryExecutionInfo, targetRanges, initialPageSize, isContinuationExpected, getLazyFeedResponse, correlatedActivityId); }; @@ -133,7 +133,7 @@ public static Flux Flux new PipelinedDocumentQueryExecutionContext<>(c, pageSize, correlatedActivityId, queryInfo)); } public static Flux> createReadManyAsync( IDocumentQueryClient queryClient, String collectionResourceId, SqlQuerySpec sqlQuery, - Map rangeQueryMap, FeedOptions feedOptions, + Map rangeQueryMap, QueryRequestOptions queryRequestOptions, String resourceId, String collectionLink, UUID activityId, Class klass, ResourceType resourceTypeEnum) { Flux> documentQueryExecutionComponentFlux = ParallelDocumentQueryExecutionContext .createReadManyQueryAsync(queryClient, collectionResourceId, sqlQuery, rangeQueryMap, - feedOptions, resourceId, collectionLink, activityId, klass, resourceTypeEnum); + queryRequestOptions, resourceId, collectionLink, activityId, klass, resourceTypeEnum); // TODO: Making pagesize -1. Should be reviewed return documentQueryExecutionComponentFlux.map(c -> new PipelinedDocumentQueryExecutionContext<>(c, -1, diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java index c72caf51a219..8ffb00fedc1d 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java @@ -282,23 +282,23 @@ public static DatabaseAccount toDatabaseAccount(RxDocumentServiceResponse respon /** * Gets the partitionKeyRangeId. * - * @param options the feed options + * @param options the query request options * @return the partitionKeyRangeId. */ @Warning(value = INTERNAL_USE_ONLY_WARNING) - public static String partitionKeyRangeIdInternal(FeedOptions options) { + public static String partitionKeyRangeIdInternal(QueryRequestOptions options) { return options.getPartitionKeyRangeIdInternal(); } /** * Sets the PartitionKeyRangeId. * - * @param options the feed options + * @param options the query request options * @param partitionKeyRangeId the partition key range id * @return the partitionKeyRangeId. */ @Warning(value = INTERNAL_USE_ONLY_WARNING) - public static FeedOptions partitionKeyRangeIdInternal(FeedOptions options, String partitionKeyRangeId) { + public static QueryRequestOptions partitionKeyRangeIdInternal(QueryRequestOptions options, String partitionKeyRangeId) { return options.setPartitionKeyRangeIdInternal(partitionKeyRangeId); } @@ -512,19 +512,19 @@ public static ObjectNode getPropertyBagFromJsonSerializable(JsonSerializable jso } @Warning(value = INTERNAL_USE_ONLY_WARNING) - public static void setFeedOptionsContinuationTokenAndMaxItemCount(FeedOptions feedOptions, String continuationToken, Integer maxItemCount) { - feedOptions.setRequestContinuation(continuationToken); - feedOptions.setMaxItemCount(maxItemCount); + public static void setQueryRequestOptionsContinuationTokenAndMaxItemCount(QueryRequestOptions options, String continuationToken, Integer maxItemCount) { + options.setRequestContinuation(continuationToken); + options.setMaxItemCount(maxItemCount); } @Warning(value = INTERNAL_USE_ONLY_WARNING) - public static void setFeedOptionsContinuationToken(FeedOptions feedOptions, String continuationToken) { - feedOptions.setRequestContinuation(continuationToken); + public static void setQueryRequestOptionsContinuationToken(QueryRequestOptions queryRequestOptions, String continuationToken) { + queryRequestOptions.setRequestContinuation(continuationToken); } @Warning(value = INTERNAL_USE_ONLY_WARNING) - public static void setFeedOptionsMaxItemCount(FeedOptions feedOptions, Integer maxItemCount) { - feedOptions.setMaxItemCount(maxItemCount); + public static void setQueryRequestOptionsMaxItemCount(QueryRequestOptions queryRequestOptions, Integer maxItemCount) { + queryRequestOptions.setMaxItemCount(maxItemCount); } @Warning(value = INTERNAL_USE_ONLY_WARNING) @@ -645,11 +645,48 @@ public static ThroughputResponse createThroughputRespose(ResourceResponse return new ThroughputResponse(offerResourceResponse); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void addQueryInfoToFeedResponse(FeedResponse feedResponse, QueryInfo queryInfo){ feedResponse.setQueryInfo(queryInfo); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static QueryInfo getQueryInfoFromFeedResponse(FeedResponse response) { return response.getQueryInfo(); } + + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static QueryRequestOptions createQueryRequestOptions(QueryRequestOptions options) { + return new QueryRequestOptions(options); + } + + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static Integer getMaxItemCountFromQueryRequestOptions(QueryRequestOptions options) { + return options.getMaxItemCount(); + } + + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static String getRequestContinuationFromQueryRequestOptions(QueryRequestOptions options) { + return options.getRequestContinuation(); + } + + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static Map getPropertiesFromQueryRequestOptions(QueryRequestOptions options) { + return options.getProperties(); + } + + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static QueryRequestOptions setQueryRequestOptionsProperties(QueryRequestOptions options, Map properties) { + return options.setProperties(properties); + } + + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static boolean getEmptyPagesAllowedFromQueryRequestOptions(QueryRequestOptions options) { + return options.isEmptyPagesAllowed(); + } + + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static QueryRequestOptions setQueryRequestOptionsEmptyPagesAllowed(QueryRequestOptions options, boolean emptyPageAllowed) { + return options.setEmptyPagesAllowed(emptyPageAllowed); + } } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/FeedOptions.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/QueryRequestOptions.java similarity index 81% rename from sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/FeedOptions.java rename to sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/QueryRequestOptions.java index 10b6f7addb23..6f2583337317 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/FeedOptions.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/QueryRequestOptions.java @@ -6,10 +6,10 @@ import java.util.Map; /** - * Specifies the options associated with feed methods (enumeration operations) + * Specifies the options associated with query methods (enumeration operations) * in the Azure Cosmos DB database service. */ -public final class FeedOptions { +public final class QueryRequestOptions { private String sessionToken; private String partitionKeyRangeId; private Boolean scanInQueryEnabled; @@ -25,17 +25,17 @@ public final class FeedOptions { private boolean emptyPagesAllowed; /** - * Instantiates a new Feed options. + * Instantiates a new query request options. */ - public FeedOptions() { + public QueryRequestOptions() { } /** - * Instantiates a new Feed options. + * Instantiates a new query request options. * * @param options the options */ - public FeedOptions(FeedOptions options) { + QueryRequestOptions(QueryRequestOptions options) { this.sessionToken = options.sessionToken; this.partitionKeyRangeId = options.partitionKeyRangeId; this.scanInQueryEnabled = options.scanInQueryEnabled; @@ -63,9 +63,9 @@ String getPartitionKeyRangeIdInternal() { * Sets the partitionKeyRangeId. * * @param partitionKeyRangeId the partitionKeyRangeId. - * @return the FeedOptions. + * @return the QueryRequestOptions. */ - FeedOptions setPartitionKeyRangeIdInternal(String partitionKeyRangeId) { + QueryRequestOptions setPartitionKeyRangeIdInternal(String partitionKeyRangeId) { this.partitionKeyRangeId = partitionKeyRangeId; return this; } @@ -83,9 +83,9 @@ public String getSessionToken() { * Sets the session token for use with session consistency. * * @param sessionToken the session token. - * @return the FeedOptions. + * @return the QueryRequestOptions. */ - public FeedOptions setSessionToken(String sessionToken) { + public QueryRequestOptions setSessionToken(String sessionToken) { this.sessionToken = sessionToken; return this; } @@ -105,9 +105,9 @@ public Boolean isScanInQueryEnabled() { * indexing was opted out on the requested paths. * * @param scanInQueryEnabled the option of enable scan in query. - * @return the FeedOptions. + * @return the QueryRequestOptions. */ - public FeedOptions setScanInQueryEnabled(Boolean scanInQueryEnabled) { + public QueryRequestOptions setScanInQueryEnabled(Boolean scanInQueryEnabled) { this.scanInQueryEnabled = scanInQueryEnabled; return this; } @@ -118,7 +118,7 @@ public FeedOptions setScanInQueryEnabled(Boolean scanInQueryEnabled) { * * @return the emit verbose traces in query. */ - public Boolean isEmitVerboseTracesInQuery() { + Boolean isEmitVerboseTracesInQuery() { return this.emitVerboseTracesInQuery; } @@ -127,9 +127,9 @@ public Boolean isEmitVerboseTracesInQuery() { * investigation. * * @param emitVerboseTracesInQuery the emit verbose traces in query. - * @return the FeedOptions. + * @return the QueryRequestOptions. */ - public FeedOptions setEmitVerboseTracesInQuery(Boolean emitVerboseTracesInQuery) { + QueryRequestOptions setEmitVerboseTracesInQuery(Boolean emitVerboseTracesInQuery) { this.emitVerboseTracesInQuery = emitVerboseTracesInQuery; return this; } @@ -150,9 +150,9 @@ public int getMaxDegreeOfParallelism() { * query execution. * * @param maxDegreeOfParallelism number of concurrent operations. - * @return the FeedOptions. + * @return the QueryRequestOptions. */ - public FeedOptions setMaxDegreeOfParallelism(int maxDegreeOfParallelism) { + public QueryRequestOptions setMaxDegreeOfParallelism(int maxDegreeOfParallelism) { this.maxDegreeOfParallelism = maxDegreeOfParallelism; return this; } @@ -173,9 +173,9 @@ public int getMaxBufferedItemCount() { * parallel query execution. * * @param maxBufferedItemCount maximum number of items. - * @return the FeedOptions. + * @return the QueryRequestOptions. */ - public FeedOptions setMaxBufferedItemCount(int maxBufferedItemCount) { + public QueryRequestOptions setMaxBufferedItemCount(int maxBufferedItemCount) { this.maxBufferedItemCount = maxBufferedItemCount; return this; } @@ -198,9 +198,9 @@ public FeedOptions setMaxBufferedItemCount(int maxBufferedItemCount) { * size. * * @param limitInKb continuation token size limit. - * @return the FeedOptions. + * @return the QueryRequestOptions. */ - public FeedOptions getResponseContinuationTokenLimitInKb(int limitInKb) { + public QueryRequestOptions getResponseContinuationTokenLimitInKb(int limitInKb) { this.responseContinuationTokenLimitInKb = limitInKb; return this; } @@ -225,7 +225,7 @@ public int setResponseContinuationTokenLimitInKb() { * * @return the max number of items. */ - public Integer getMaxItemCount() { + Integer getMaxItemCount() { return this.maxItemCount; } @@ -234,9 +234,9 @@ public Integer getMaxItemCount() { * operation. * * @param maxItemCount the max number of items. - * @return the FeedOptionsBase. + * @return the QueryRequestOptions. */ - FeedOptions setMaxItemCount(Integer maxItemCount) { + QueryRequestOptions setMaxItemCount(Integer maxItemCount) { this.maxItemCount = maxItemCount; return this; } @@ -246,7 +246,7 @@ FeedOptions setMaxItemCount(Integer maxItemCount) { * * @return the request continuation. */ - public String getRequestContinuation() { + String getRequestContinuation() { return this.requestContinuation; } @@ -254,9 +254,9 @@ public String getRequestContinuation() { * Sets the request continuation token. * * @param requestContinuation the request continuation. - * @return the FeedOptionsBase. + * @return the QueryRequestOptions. */ - FeedOptions setRequestContinuation(String requestContinuation) { + QueryRequestOptions setRequestContinuation(String requestContinuation) { this.requestContinuation = requestContinuation; return this; } @@ -276,9 +276,9 @@ public PartitionKey getPartitionKey() { * partition. * * @param partitionkey the partition key value. - * @return the FeedOptionsBase. + * @return the QueryRequestOptions. */ - public FeedOptions setPartitionKey(PartitionKey partitionkey) { + public QueryRequestOptions setPartitionKey(PartitionKey partitionkey) { this.partitionkey = partitionkey; return this; } @@ -296,9 +296,9 @@ public boolean isQueryMetricsEnabled() { * Sets the option to enable/disable getting metrics relating to query execution on item query requests * * @param queryMetricsEnabled whether to enable or disable query metrics - * @return the FeedOptionsBase. + * @return the QueryRequestOptions. */ - public FeedOptions setQueryMetricsEnabled(boolean queryMetricsEnabled) { + public QueryRequestOptions setQueryMetricsEnabled(boolean queryMetricsEnabled) { this.queryMetricsEnabled = queryMetricsEnabled; return this; } @@ -308,7 +308,7 @@ public FeedOptions setQueryMetricsEnabled(boolean queryMetricsEnabled) { * * @return Map of request options properties */ - public Map getProperties() { + Map getProperties() { return properties; } @@ -316,9 +316,9 @@ public Map getProperties() { * Sets the properties used to identify the request token. * * @param properties the properties. - * @return the FeedOptionsBase. + * @return the QueryRequestOptions. */ - public FeedOptions setProperties(Map properties) { + QueryRequestOptions setProperties(Map properties) { this.properties = properties; return this; } @@ -328,16 +328,16 @@ public FeedOptions setProperties(Map properties) { * * @return whether to enable allow empty pages or not */ - public boolean isEmptyPagesAllowed() { + boolean isEmptyPagesAllowed() { return emptyPagesAllowed; } /** * Sets the option to allow empty result pages in feed response. Defaults to false * @param emptyPagesAllowed whether to allow empty pages in feed response - * @return the FeedOptionsBase. + * @return the QueryRequestOptions. */ - public FeedOptions setEmptyPagesAllowed(boolean emptyPagesAllowed) { + QueryRequestOptions setEmptyPagesAllowed(boolean emptyPagesAllowed) { this.emptyPagesAllowed = emptyPagesAllowed; return this; } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosContainerTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosContainerTest.java index bb2f6fac1c93..ec62c7324b67 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosContainerTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosContainerTest.java @@ -9,7 +9,7 @@ import com.azure.cosmos.models.CosmosContainerProperties; import com.azure.cosmos.models.CosmosContainerRequestOptions; import com.azure.cosmos.models.CosmosContainerResponse; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.IndexingMode; import com.azure.cosmos.models.IndexingPolicy; import com.azure.cosmos.models.PartitionKeyDefinition; @@ -253,8 +253,8 @@ public void readAllContainers() throws Exception{ // Very basic validation assertThat(feedResponseIterator.iterator().hasNext()).isTrue(); - FeedOptions feedOptions = new FeedOptions(); - CosmosPagedIterable feedResponseIterator1 = createdDatabase.readAllContainers(feedOptions); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); + CosmosPagedIterable feedResponseIterator1 = createdDatabase.readAllContainers(queryRequestOptions); assertThat(feedResponseIterator1.iterator().hasNext()).isTrue(); } @@ -267,14 +267,14 @@ public void queryContainer() throws Exception{ CosmosContainerResponse containerResponse = createdDatabase.createContainer(containerProperties); String query = String.format("SELECT * from c where c.id = '%s'", collectionName); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); CosmosPagedIterable feedResponseIterator = createdDatabase.queryContainers(query); // Very basic validation assertThat(feedResponseIterator.iterator().hasNext()).isTrue(); CosmosPagedIterable feedResponseIterator1 = - createdDatabase.queryContainers(query, feedOptions); + createdDatabase.queryContainers(query, queryRequestOptions); // Very basic validation assertThat(feedResponseIterator1.iterator().hasNext()).isTrue(); @@ -284,7 +284,7 @@ public void queryContainer() throws Exception{ assertThat(feedResponseIterator2.iterator().hasNext()).isTrue(); CosmosPagedIterable feedResponseIterator3 = - createdDatabase.queryContainers(querySpec, feedOptions); + createdDatabase.queryContainers(querySpec, queryRequestOptions); assertThat(feedResponseIterator3.iterator().hasNext()).isTrue(); } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosDatabaseTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosDatabaseTest.java index a7982fcb40cb..7f9211b8b5a4 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosDatabaseTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosDatabaseTest.java @@ -9,7 +9,7 @@ import com.azure.cosmos.models.CosmosDatabaseProperties; import com.azure.cosmos.models.CosmosDatabaseRequestOptions; import com.azure.cosmos.models.CosmosDatabaseResponse; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.SqlQuerySpec; import com.azure.cosmos.models.ThroughputProperties; import com.azure.cosmos.rx.TestSuiteBase; @@ -160,7 +160,7 @@ public void readDatabase() throws Exception { @Test(groups = {"emulator"}, timeOut = TIMEOUT) public void readAllDatabases() throws Exception { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedIterable readIterator = client.readAllDatabases(options); // Basic validation @@ -173,9 +173,9 @@ public void readAllDatabases() throws Exception { @Test(groups = {"emulator"}, timeOut = TIMEOUT) public void queryAllDatabases() throws Exception { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); String query = String.format("SELECT * from c where c.getId = '%s'", createdDatabase.getId()); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); CosmosPagedIterable queryIterator = client.queryDatabases(query, options); // Basic validation diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosItemTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosItemTest.java index 203b344082fe..5079064570f2 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosItemTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosItemTest.java @@ -9,7 +9,7 @@ import com.azure.cosmos.implementation.CosmosItemProperties; import com.azure.cosmos.models.CosmosItemRequestOptions; import com.azure.cosmos.models.CosmosItemResponse; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.PartitionKey; @@ -133,10 +133,10 @@ public void readAllItems() throws Exception{ CosmosItemProperties properties = getDocumentDefinition(UUID.randomUUID().toString()); CosmosItemResponse itemResponse = container.createItem(properties); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); CosmosPagedIterable feedResponseIterator3 = - container.readAllItems(feedOptions, CosmosItemProperties.class); + container.readAllItems(queryRequestOptions, CosmosItemProperties.class); assertThat(feedResponseIterator3.iterator().hasNext()).isTrue(); } @@ -147,16 +147,16 @@ public void queryItems() throws Exception{ CosmosItemResponse itemResponse = container.createItem(properties); String query = String.format("SELECT * from c where c.id = '%s'", properties.getId()); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); CosmosPagedIterable feedResponseIterator1 = - container.queryItems(query, feedOptions, CosmosItemProperties.class); + container.queryItems(query, queryRequestOptions, CosmosItemProperties.class); // Very basic validation assertThat(feedResponseIterator1.iterator().hasNext()).isTrue(); SqlQuerySpec querySpec = new SqlQuerySpec(query); CosmosPagedIterable feedResponseIterator3 = - container.queryItems(querySpec, feedOptions, CosmosItemProperties.class); + container.queryItems(querySpec, queryRequestOptions, CosmosItemProperties.class); assertThat(feedResponseIterator3.iterator().hasNext()).isTrue(); } @@ -175,7 +175,7 @@ public void queryItemsWithContinuationTokenAndPageSize() throws Exception{ String query = String.format("SELECT * from c where c.id in ('%s', '%s', '%s')", actualIds.get(0), actualIds.get(1), actualIds.get(2)); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); String continuationToken = null; int pageSize = 1; @@ -183,7 +183,7 @@ public void queryItemsWithContinuationTokenAndPageSize() throws Exception{ int finalDocumentCount = 0; CosmosPagedIterable feedResponseIterator1 = - container.queryItems(query, feedOptions, CosmosItemProperties.class); + container.queryItems(query, queryRequestOptions, CosmosItemProperties.class); do { Iterable> feedResponseIterable = diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosSyncStoredProcTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosSyncStoredProcTest.java index 258201249e66..c443e409bdd7 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosSyncStoredProcTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosSyncStoredProcTest.java @@ -7,7 +7,7 @@ import com.azure.cosmos.models.CosmosStoredProcedureResponse; import com.azure.cosmos.models.CosmosStoredProcedureProperties; import com.azure.cosmos.models.CosmosStoredProcedureRequestOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.models.SqlQuerySpec; import com.azure.cosmos.rx.TestSuiteBase; @@ -168,10 +168,10 @@ private void readAllSprocs() throws Exception { CosmosStoredProcedureProperties storedProcedureDef = getCosmosStoredProcedureProperties(); container.getScripts().createStoredProcedure(storedProcedureDef); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); CosmosPagedIterable feedResponseIterator3 = - container.getScripts().readAllStoredProcedures(feedOptions); + container.getScripts().readAllStoredProcedures(queryRequestOptions); assertThat(feedResponseIterator3.iterator().hasNext()).isTrue(); } @@ -182,15 +182,15 @@ private void querySprocs() throws Exception { container.getScripts().createStoredProcedure(properties); String query = String.format("SELECT * from c where c.id = '%s'", properties.getId()); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); CosmosPagedIterable feedResponseIterator1 = - container.getScripts().queryStoredProcedures(query, feedOptions); + container.getScripts().queryStoredProcedures(query, queryRequestOptions); assertThat(feedResponseIterator1.iterator().hasNext()).isTrue(); SqlQuerySpec querySpec = new SqlQuerySpec(query); CosmosPagedIterable feedResponseIterator2 = - container.getScripts().queryStoredProcedures(query, feedOptions); + container.getScripts().queryStoredProcedures(query, queryRequestOptions); assertThat(feedResponseIterator2.iterator().hasNext()).isTrue(); } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosSyncUDFTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosSyncUDFTest.java index c24c867547a1..e9b72caed5e8 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosSyncUDFTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosSyncUDFTest.java @@ -5,7 +5,7 @@ import com.azure.cosmos.models.CosmosUserDefinedFunctionProperties; import com.azure.cosmos.models.CosmosUserDefinedFunctionResponse; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.SqlQuerySpec; import com.azure.cosmos.rx.TestSuiteBase; import com.azure.cosmos.util.CosmosPagedIterable; @@ -108,10 +108,10 @@ public void readAllUDFs() throws Exception { container.getScripts().createUserDefinedFunction(udf); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); CosmosPagedIterable feedResponseIterator3 = - container.getScripts().readAllUserDefinedFunctions(feedOptions); + container.getScripts().readAllUserDefinedFunctions(queryRequestOptions); assertThat(feedResponseIterator3.iterator().hasNext()).isTrue(); } @@ -121,16 +121,16 @@ public void queryUDFs() throws Exception { container.getScripts().createUserDefinedFunction(properties); String query = String.format("SELECT * from c where c.id = '%s'", properties.getId()); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); CosmosPagedIterable feedResponseIterator1 = - container.getScripts().queryUserDefinedFunctions(query, feedOptions); + container.getScripts().queryUserDefinedFunctions(query, queryRequestOptions); assertThat(feedResponseIterator1.iterator().hasNext()).isTrue(); SqlQuerySpec querySpec = new SqlQuerySpec(query); CosmosPagedIterable feedResponseIterator2 = - container.getScripts().queryUserDefinedFunctions(query, feedOptions); + container.getScripts().queryUserDefinedFunctions(query, queryRequestOptions); assertThat(feedResponseIterator2.iterator().hasNext()).isTrue(); } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosTriggerTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosTriggerTest.java index b6c4cf830ff9..4086025475a3 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosTriggerTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosTriggerTest.java @@ -5,7 +5,7 @@ import com.azure.cosmos.models.CosmosTriggerResponse; import com.azure.cosmos.models.CosmosTriggerProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.SqlQuerySpec; import com.azure.cosmos.models.TriggerOperation; import com.azure.cosmos.models.TriggerType; @@ -92,10 +92,10 @@ public void readAllTriggers() throws Exception { container.getScripts().createTrigger(trigger); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); CosmosPagedIterable feedResponseIterator3 = - container.getScripts().readAllTriggers(feedOptions); + container.getScripts().readAllTriggers(queryRequestOptions); assertThat(feedResponseIterator3.iterator().hasNext()).isTrue(); } @@ -115,15 +115,15 @@ public void queryTriggers() throws Exception { CosmosTriggerProperties properties = getCosmosTriggerProperties(); container.getScripts().createTrigger(properties); String query = String.format("SELECT * from c where c.id = '%s'", properties.getId()); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); CosmosPagedIterable feedResponseIterator1 = - container.getScripts().queryTriggers(query, feedOptions); + container.getScripts().queryTriggers(query, queryRequestOptions); assertThat(feedResponseIterator1.iterator().hasNext()).isTrue(); SqlQuerySpec querySpec = new SqlQuerySpec(query); CosmosPagedIterable feedResponseIterator2 = - container.getScripts().queryTriggers(query, feedOptions); + container.getScripts().queryTriggers(query, queryRequestOptions); assertThat(feedResponseIterator2.iterator().hasNext()).isTrue(); } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosUserTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosUserTest.java index e4a690af412e..b3390b719674 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosUserTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosUserTest.java @@ -5,7 +5,7 @@ import com.azure.cosmos.models.CosmosUserResponse; import com.azure.cosmos.models.CosmosUserProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.SqlQuerySpec; import com.azure.cosmos.rx.TestSuiteBase; import com.azure.cosmos.util.CosmosPagedIterable; @@ -93,7 +93,7 @@ public void readAllUsers() throws Exception{ CosmosPagedIterable feedResponseIterator = createdDatabase.readAllUsers(); assertThat(feedResponseIterator.iterator().hasNext()).isTrue(); - CosmosPagedIterable feedResponseIterator2 = createdDatabase.readAllUsers(new FeedOptions()); + CosmosPagedIterable feedResponseIterator2 = createdDatabase.readAllUsers(new QueryRequestOptions()); assertThat(feedResponseIterator2.iterator().hasNext()).isTrue(); } @@ -105,15 +105,15 @@ public void queryUsers() throws Exception{ CosmosUserResponse response = createdDatabase.createUser(userProperties); String query = String.format("SELECT * from c where c.id = '%s'", userProperties.getId()); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); CosmosPagedIterable feedResponseIterator1 = - createdDatabase.queryUsers(query, feedOptions); + createdDatabase.queryUsers(query, queryRequestOptions); assertThat(feedResponseIterator1.iterator().hasNext()).isTrue(); SqlQuerySpec querySpec = new SqlQuerySpec(query); CosmosPagedIterable feedResponseIterator2 = - createdDatabase.queryUsers(query, feedOptions); + createdDatabase.queryUsers(query, queryRequestOptions); assertThat(feedResponseIterator2.iterator().hasNext()).isTrue(); } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/MultipleCosmosClientsWithTransportClientSharingTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/MultipleCosmosClientsWithTransportClientSharingTest.java index e9766273b33c..e29bf24fd244 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/MultipleCosmosClientsWithTransportClientSharingTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/MultipleCosmosClientsWithTransportClientSharingTest.java @@ -16,7 +16,7 @@ import com.azure.cosmos.implementation.http.SharedGatewayHttpClient; import com.azure.cosmos.models.CosmosItemResponse; import com.azure.cosmos.models.CosmosItemRequestOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.PartitionKey; @@ -155,10 +155,10 @@ public void readAllItems() throws Exception{ CosmosItemProperties properties = getDocumentDefinition(UUID.randomUUID().toString()); CosmosItemResponse itemResponse = container1.createItem(properties); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); CosmosPagedIterable feedResponseIterator3 = - container1.readAllItems(feedOptions, CosmosItemProperties.class); + container1.readAllItems(queryRequestOptions, CosmosItemProperties.class); assertThat(feedResponseIterator3.iterator().hasNext()).isTrue(); } @@ -169,16 +169,16 @@ public void queryItems() throws Exception{ CosmosItemResponse itemResponse = container1.createItem(properties); String query = String.format("SELECT * from c where c.id = '%s'", properties.getId()); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); CosmosPagedIterable feedResponseIterator1 = - container1.queryItems(query, feedOptions, CosmosItemProperties.class); + container1.queryItems(query, queryRequestOptions, CosmosItemProperties.class); // Very basic validation assertThat(feedResponseIterator1.iterator().hasNext()).isTrue(); SqlQuerySpec querySpec = new SqlQuerySpec(query); CosmosPagedIterable feedResponseIterator3 = - container1.queryItems(querySpec, feedOptions, CosmosItemProperties.class); + container1.queryItems(querySpec, queryRequestOptions, CosmosItemProperties.class); assertThat(feedResponseIterator3.iterator().hasNext()).isTrue(); } @@ -197,7 +197,7 @@ public void queryItemsWithContinuationTokenAndPageSize() throws Exception{ String query = String.format("SELECT * from c where c.id in ('%s', '%s', '%s')", actualIds.get(0), actualIds.get(1), actualIds.get(2)); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); String continuationToken = null; int pageSize = 1; @@ -205,7 +205,7 @@ public void queryItemsWithContinuationTokenAndPageSize() throws Exception{ int finalDocumentCount = 0; CosmosPagedIterable feedResponseIterator1 = - container1.queryItems(query, feedOptions, CosmosItemProperties.class); + container1.queryItems(query, queryRequestOptions, CosmosItemProperties.class); do { Iterable> feedResponseIterable = diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/ConsistencyTests2.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/ConsistencyTests2.java index a4599b9912f8..ddc0a0262b19 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/ConsistencyTests2.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/ConsistencyTests2.java @@ -8,7 +8,8 @@ import com.azure.cosmos.CosmosException; import com.azure.cosmos.DirectConnectionConfig; import com.azure.cosmos.GatewayConnectionConfig; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.ModelBridgeInternal; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.implementation.directconnectivity.WFConstants; @@ -179,11 +180,11 @@ public void validateNoChargeOnFailedSessionRead() throws Exception { String token = childResource.getSessionToken().split(":")[0] + ":" + ConsistencyTestsBase.createSessionToken(SessionTokenHelper.parse(childResource.getSessionToken()), 100000000).convertToString(); - FeedOptions feedOptions = new FeedOptions(); - feedOptions.setPartitionKey(new PartitionKey(PartitionKeyInternal.Empty.toJson())); - feedOptions.setSessionToken(token); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); + queryRequestOptions.setPartitionKey(new PartitionKey(PartitionKeyInternal.Empty.toJson())); + queryRequestOptions.setSessionToken(token); FailureValidator validator = new FailureValidator.Builder().statusCode(HttpConstants.StatusCodes.NOTFOUND).subStatusCode(HttpConstants.SubStatusCodes.READ_SESSION_NOT_AVAILABLE).build(); - Flux> feedObservable = readSecondaryClient.readDocuments(parentResource.getSelfLink(), feedOptions); + Flux> feedObservable = readSecondaryClient.readDocuments(parentResource.getSelfLink(), queryRequestOptions); validateQueryFailure(feedObservable, validator); } finally { safeClose(writeClient); @@ -232,11 +233,11 @@ public void validateSessionTokenAsync() { Mono task2 = ParallelAsync.forEachAsync(Range.between(0, 1000), 5, index -> { try { - FeedOptions feedOptions = new FeedOptions(); - feedOptions.setEmptyPagesAllowed(true); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsEmptyPagesAllowed(queryRequestOptions, true); FeedResponse queryResponse = client.queryDocuments(createdCollection.getSelfLink(), "SELECT * FROM c WHERE c.Id = " + - "'foo'", feedOptions) + "'foo'", queryRequestOptions) .blockFirst(); String lsnHeaderValue = queryResponse.getResponseHeaders().get(WFConstants.BackendHeaders.LSN); long lsn = Long.valueOf(lsnHeaderValue); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/DocumentQuerySpyWireContentTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/DocumentQuerySpyWireContentTest.java index 8638df72f311..bf4280bb1b0d 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/DocumentQuerySpyWireContentTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/DocumentQuerySpyWireContentTest.java @@ -2,7 +2,7 @@ // Licensed under the MIT License. package com.azure.cosmos.implementation; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.PartitionKey; @@ -50,28 +50,28 @@ public DocumentQuerySpyWireContentTest(Builder clientBuilder) { @DataProvider(name = "responseContinuationTokenLimitParamProvider") public static Object[][] responseContinuationTokenLimitParamProvider() { - FeedOptions options1 = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options1, 1); + QueryRequestOptions options1 = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options1, 1); options1.getResponseContinuationTokenLimitInKb(5); options1.setPartitionKey(new PartitionKey("99")); String query1 = "Select * from r"; boolean multiPartitionCollection1 = true; - FeedOptions options2 = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options2, 1); + QueryRequestOptions options2 = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options2, 1); options2.getResponseContinuationTokenLimitInKb(5); options2.setPartitionKey(new PartitionKey("99")); String query2 = "Select * from r order by r.prop"; boolean multiPartitionCollection2 = false; - FeedOptions options3 = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options3, 1); + QueryRequestOptions options3 = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options3, 1); options3.getResponseContinuationTokenLimitInKb(5); options3.setPartitionKey(new PartitionKey("99")); String query3 = "Select * from r"; boolean multiPartitionCollection3 = false; - FeedOptions options4 = new FeedOptions(); + QueryRequestOptions options4 = new QueryRequestOptions(); options4.setPartitionKey(new PartitionKey("99")); String query4 = "Select * from r order by r.prop"; boolean multiPartitionCollection4 = false; @@ -85,7 +85,7 @@ public static Object[][] responseContinuationTokenLimitParamProvider() { } @Test(dataProvider = "responseContinuationTokenLimitParamProvider", groups = { "simple" }, timeOut = TIMEOUT) - public void queryWithContinuationTokenLimit(FeedOptions options, String query, boolean isMultiParitionCollection) throws Exception { + public void queryWithContinuationTokenLimit(QueryRequestOptions options, String query, boolean isMultiParitionCollection) throws Exception { String collectionLink; if (isMultiParitionCollection) { collectionLink = getMultiPartitionCollectionLink(); @@ -160,7 +160,7 @@ public void before_DocumentQuerySpyWireContentTest() throws Exception { // wait for catch up TimeUnit.SECONDS.sleep(1); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); // do the query once to ensure the collection is cached. client.queryDocuments(getMultiPartitionCollectionLink(), "select * from root", options) diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/TestSuiteBase.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/TestSuiteBase.java index adb50537b21e..06d9ea6096f0 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/TestSuiteBase.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/TestSuiteBase.java @@ -10,7 +10,7 @@ import com.azure.cosmos.CosmosException; import com.azure.cosmos.models.DataType; import com.azure.cosmos.DocumentClientTest; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.IncludedPath; import com.azure.cosmos.models.Index; @@ -171,10 +171,10 @@ protected static void truncateCollection(DocumentCollection collection) { try { List paths = collection.getPartitionKey().getPaths(); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(-1); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, 100); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, 100); logger.info("Truncating collection {} documents ...", collection.getId()); @@ -504,7 +504,7 @@ public static void deleteCollection(AsyncDocumentClient client, String collectio } public static void deleteDocumentIfExists(AsyncDocumentClient client, String databaseId, String collectionId, String docId) { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setPartitionKey(new PartitionKey(docId)); List res = client .queryDocuments(TestUtils.getCollectionNameLink(databaseId, collectionId), String.format("SELECT * FROM root r where r.id = '%s'", docId), options) diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/directconnectivity/DCDocumentCrudTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/directconnectivity/DCDocumentCrudTest.java index 3136a5c706da..778dc30b7ae7 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/directconnectivity/DCDocumentCrudTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/directconnectivity/DCDocumentCrudTest.java @@ -3,11 +3,10 @@ package com.azure.cosmos.implementation.directconnectivity; import com.azure.cosmos.BridgeInternal; -import com.azure.cosmos.ConnectionMode; import com.azure.cosmos.DirectConnectionConfig; import com.azure.cosmos.implementation.ConnectionPolicy; import com.azure.cosmos.ConsistencyLevel; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.PartitionKey; @@ -221,9 +220,9 @@ public void crossPartitionQuery() { waitIfNeededForReplicasToCatchUp(clientBuilder()); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(-1); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, 100); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, 100); Flux> results = client.queryDocuments(getCollectionLink(), "SELECT * FROM r", options); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/query/FetcherTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/query/FetcherTest.java index f9666805d0b9..78e7eacc9924 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/query/FetcherTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/query/FetcherTest.java @@ -4,7 +4,7 @@ package com.azure.cosmos.implementation.query; import com.azure.cosmos.implementation.ChangeFeedOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.implementation.Document; import com.azure.cosmos.implementation.RxDocumentServiceRequest; @@ -28,24 +28,24 @@ public class FetcherTest { @DataProvider(name = "queryParams") public static Object[][] queryParamProvider() { - FeedOptions options1 = new FeedOptions(); + QueryRequestOptions options1 = new QueryRequestOptions(); // initial continuation token - ModelBridgeInternal.setFeedOptionsContinuationTokenAndMaxItemCount(options1,"cp-init",100); + ModelBridgeInternal.setQueryRequestOptionsContinuationTokenAndMaxItemCount(options1,"cp-init",100); int top1 = -1; // no top // no continuation token - FeedOptions options2 = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options2, 100); + QueryRequestOptions options2 = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options2, 100); int top2 = -1; // no top // top more than max item count - FeedOptions options3 = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options3, 100); + QueryRequestOptions options3 = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options3, 100); int top3 = 200; // top less than max item count - FeedOptions options4 = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options4, 100); + QueryRequestOptions options4 = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options4, 100); int top4 = 20; return new Object[][] { @@ -56,7 +56,7 @@ public static Object[][] queryParamProvider() { } @Test(groups = { "unit" }, dataProvider = "queryParams") - public void query(FeedOptions options, int top) { + public void query(QueryRequestOptions options, int top) { FeedResponse fp1 = FeedResponseBuilder.queryFeedResponseBuilder(Document.class) .withContinuationToken("cp1") @@ -78,7 +78,8 @@ public void query(FeedOptions options, int top) { assertThat(maxItemCount).describedAs("max item count").isEqualTo( getExpectedMaxItemCountInRequest(options, top, feedResponseList, requestIndex.get())); assertThat(token).describedAs("continuation token").isEqualTo( - getExpectedContinuationTokenInRequest(options.getRequestContinuation(), feedResponseList, requestIndex.get())); + getExpectedContinuationTokenInRequest( + ModelBridgeInternal.getRequestContinuationFromQueryRequestOptions(options), feedResponseList, requestIndex.get())); requestIndex.getAndIncrement(); return mock(RxDocumentServiceRequest.class); @@ -93,14 +94,14 @@ public void query(FeedOptions options, int top) { }; Fetcher fetcher = - new Fetcher<>(createRequestFunc, executeFunc, options.getRequestContinuation(), false, top, - options.getMaxItemCount()); + new Fetcher<>(createRequestFunc, executeFunc, ModelBridgeInternal.getRequestContinuationFromQueryRequestOptions(options), false, top, + ModelBridgeInternal.getMaxItemCountFromQueryRequestOptions(options)); validateFetcher(fetcher, options, top, feedResponseList); } private void validateFetcher(Fetcher fetcher, - FeedOptions options, + QueryRequestOptions options, int top, List> feedResponseList) { @@ -196,17 +197,17 @@ private String getExpectedContinuationTokenInRequest(String continuationToken, return feedResponseList.get(requestIndex - 1).getContinuationToken(); } - private int getExpectedMaxItemCountInRequest(FeedOptions options, + private int getExpectedMaxItemCountInRequest(QueryRequestOptions options, int top, List> feedResponseList, int requestIndex) { if (top == -1) { - return options.getMaxItemCount(); + return ModelBridgeInternal.getMaxItemCountFromQueryRequestOptions(options); } int numberOfReceivedItemsSoFar = feedResponseList.subList(0, requestIndex).stream().mapToInt(rsp -> rsp.getResults().size()).sum(); - return Math.min(top - numberOfReceivedItemsSoFar, options.getMaxItemCount()); + return Math.min(top - numberOfReceivedItemsSoFar, ModelBridgeInternal.getMaxItemCountFromQueryRequestOptions(options)); } } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/models/CosmosPartitionKeyTests.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/models/CosmosPartitionKeyTests.java index 9a96ab361a64..d30a3e6c082a 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/models/CosmosPartitionKeyTests.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/models/CosmosPartitionKeyTests.java @@ -189,13 +189,13 @@ public void nonPartitionedCollectionOperations() throws Exception { this.validateItemSuccess(upsertMono, validator); // one document was created during setup, one with create (which was replaced) and one with upsert - FeedOptions feedOptions = new FeedOptions(); - feedOptions.setPartitionKey(PartitionKey.NONE); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); + queryRequestOptions.setPartitionKey(PartitionKey.NONE); ArrayList expectedIds = new ArrayList(); expectedIds.add(NON_PARTITIONED_CONTAINER_DOCUEMNT_ID); expectedIds.add(replacedItemId); expectedIds.add(upsertedItemId); - CosmosPagedFlux queryFlux = createdContainer.queryItems("SELECT * from c", feedOptions, CosmosItemProperties.class); + CosmosPagedFlux queryFlux = createdContainer.queryItems("SELECT * from c", queryRequestOptions, CosmosItemProperties.class); FeedResponseListValidator queryValidator = new FeedResponseListValidator.Builder() .totalSize(3) .numberOfPages(1) @@ -203,7 +203,7 @@ public void nonPartitionedCollectionOperations() throws Exception { .build(); validateQuerySuccess(queryFlux.byPage(), queryValidator); - queryFlux = createdContainer.queryItems("SELECT * FROM r", feedOptions, CosmosItemProperties.class); + queryFlux = createdContainer.queryItems("SELECT * FROM r", queryRequestOptions, CosmosItemProperties.class); queryValidator = new FeedResponseListValidator.Builder() .totalSize(3) .numberOfPages(1) @@ -240,7 +240,7 @@ public void nonPartitionedCollectionOperations() throws Exception { // 3 previous items + 1 created from the sproc expectedIds.add(documentCreatedBySprocId); - queryFlux = createdContainer.queryItems("SELECT * FROM r", feedOptions, CosmosItemProperties.class); + queryFlux = createdContainer.queryItems("SELECT * FROM r", queryRequestOptions, CosmosItemProperties.class); queryValidator = new FeedResponseListValidator.Builder() .totalSize(4) .numberOfPages(1) @@ -278,7 +278,7 @@ public void nonPartitionedCollectionOperations() throws Exception { .build(); this.validateItemSuccess(deleteMono, deleteResponseValidator); - queryFlux = createdContainer.queryItems("SELECT * FROM r", feedOptions, CosmosItemProperties.class); + queryFlux = createdContainer.queryItems("SELECT * FROM r", queryRequestOptions, CosmosItemProperties.class); queryValidator = new FeedResponseListValidator.Builder() .totalSize(0) .numberOfPages(1) diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/AggregateQueryTests.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/AggregateQueryTests.java index 6e2b70c6a417..a579d628cec9 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/AggregateQueryTests.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/AggregateQueryTests.java @@ -9,7 +9,7 @@ import com.azure.cosmos.CosmosException; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.implementation.CosmosItemProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.implementation.FeedResponseListValidator; import com.fasterxml.jackson.databind.JsonNode; import org.testng.annotations.AfterClass; @@ -71,7 +71,7 @@ public AggregateQueryTests(CosmosClientBuilder clientBuilder) { @Test(groups = { "simple" }, timeOut = 2 * TIMEOUT, dataProvider = "queryMetricsArgProvider") public void queryDocumentsWithAggregates(boolean qmEnabled) throws Exception { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setQueryMetricsEnabled(qmEnabled); options.setMaxDegreeOfParallelism(2); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/BackPressureCrossPartitionTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/BackPressureCrossPartitionTest.java index 72e51e0427f3..7a996e434e7d 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/BackPressureCrossPartitionTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/BackPressureCrossPartitionTest.java @@ -2,7 +2,6 @@ // Licensed under the MIT License. package com.azure.cosmos.rx; -import com.azure.cosmos.BridgeInternal; import com.azure.cosmos.ClientUnderTestBuilder; import com.azure.cosmos.CosmosAsyncClient; import com.azure.cosmos.CosmosAsyncContainer; @@ -11,11 +10,10 @@ import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.models.CosmosContainerProperties; import com.azure.cosmos.models.CosmosContainerRequestOptions; -import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.implementation.CosmosItemProperties; import com.azure.cosmos.models.DataType; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.IncludedPath; import com.azure.cosmos.models.Index; @@ -36,7 +34,6 @@ import reactor.util.concurrent.Queues; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import java.util.UUID; import java.util.concurrent.TimeUnit; @@ -91,7 +88,7 @@ public BackPressureCrossPartitionTest(CosmosClientBuilder clientBuilder) { } private void warmUp() { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); // ensure collection is cached createdCollection.queryItems("SELECT * FROM r", options, CosmosItemProperties.class).byPage().blockFirst(); } @@ -111,7 +108,7 @@ public Object[][] queryProvider() { @Test(groups = { "long" }, dataProvider = "queryProvider", timeOut = 2 * TIMEOUT) public void queryPages(String query, int maxItemCount, int maxExpectedBufferedCountForBackPressure, int expectedNumberOfResults) throws Exception { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); @@ -155,7 +152,7 @@ public void queryPages(String query, int maxItemCount, int maxExpectedBufferedCo @Test(groups = { "long" }, dataProvider = "queryProvider", timeOut = 2 * TIMEOUT) public void queryItems(String query, int maxItemCount, int maxExpectedBufferedCountForBackPressure, int expectedNumberOfResults) throws Exception { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/BackPressureTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/BackPressureTest.java index 13ae8c444b9f..9b9629a47315 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/BackPressureTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/BackPressureTest.java @@ -10,10 +10,9 @@ import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.models.CosmosContainerProperties; import com.azure.cosmos.models.CosmosContainerRequestOptions; -import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.implementation.CosmosItemProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.PartitionKeyDefinition; import com.azure.cosmos.implementation.Offer; @@ -67,7 +66,7 @@ public BackPressureTest(CosmosClientBuilder clientBuilder) { @Test(groups = { "long" }, timeOut = 3 * TIMEOUT) public void readFeedPages() throws Exception { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection .queryItems("SELECT * FROM r", options, CosmosItemProperties.class); @@ -112,7 +111,7 @@ public void readFeedPages() throws Exception { @Test(groups = { "long" }, timeOut = 3 * TIMEOUT) public void readFeedItems() throws Exception { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection .queryItems("SELECT * FROM r", options, CosmosItemProperties.class); @@ -155,7 +154,7 @@ public void readFeedItems() throws Exception { @Test(groups = { "long" }, timeOut = 3 * TIMEOUT) public void queryPages() throws Exception { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection.queryItems("SELECT * from r", options, CosmosItemProperties.class); @@ -200,7 +199,7 @@ public void queryPages() throws Exception { @Test(groups = { "long" }, timeOut = 3 * TIMEOUT) public void queryItems() throws Exception { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection.queryItems("SELECT * from r", options, CosmosItemProperties.class); @@ -276,7 +275,7 @@ public void before_BackPressureTest() throws Exception { private void warmUp() { // ensure collection is cached - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); createdCollection.queryItems("SELECT * from r", options, CosmosItemProperties.class).byPage().blockFirst(); } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ChangeFeedProcessorTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ChangeFeedProcessorTest.java index b27e42e5eeeb..58e77da62b56 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ChangeFeedProcessorTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ChangeFeedProcessorTest.java @@ -13,7 +13,7 @@ import com.azure.cosmos.models.CosmosContainerProperties; import com.azure.cosmos.models.CosmosContainerRequestOptions; import com.azure.cosmos.models.CosmosItemRequestOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.models.SqlParameter; import com.azure.cosmos.models.SqlQuerySpec; @@ -346,9 +346,9 @@ public void staledLeaseAcquiring() throws InterruptedException { SqlQuerySpec querySpec = new SqlQuerySpec( "SELECT * FROM c WHERE STARTSWITH(c.id, @PartitionLeasePrefix)", Collections.singletonList(param)); - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); - createdLeaseCollection.queryItems(querySpec, feedOptions, CosmosItemProperties.class).byPage() + createdLeaseCollection.queryItems(querySpec, queryRequestOptions, CosmosItemProperties.class).byPage() .flatMap(documentFeedResponse -> reactor.core.publisher.Flux.fromIterable(documentFeedResponse.getResults())) .flatMap(doc -> { ServiceItemLease leaseDocument = ServiceItemLease.fromDocument(doc); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CollectionQueryTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CollectionQueryTest.java index ec582379fd72..1a772a88572f 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CollectionQueryTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CollectionQueryTest.java @@ -7,10 +7,9 @@ import com.azure.cosmos.CosmosAsyncDatabase; import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.models.CosmosContainerProperties; -import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.CosmosDatabaseForTest; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.PartitionKeyDefinition; import com.azure.cosmos.implementation.FeedResponseListValidator; import com.azure.cosmos.implementation.FeedResponseValidator; @@ -46,7 +45,7 @@ public void queryCollectionsWithFilter() throws Exception { String filterCollectionId = createdCollections.get(0).getId(); String query = String.format("SELECT * from c where c.id = '%s'", filterCollectionId); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 2; CosmosPagedFlux queryObservable = createdDatabase.queryContainers(query, options); @@ -73,7 +72,7 @@ public void queryAllCollections() throws Exception { String query = "SELECT * from c"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 2; CosmosPagedFlux queryObservable = createdDatabase.queryContainers(query, options); @@ -98,7 +97,7 @@ public void queryAllCollections() throws Exception { public void queryCollections_NoResults() throws Exception { String query = "SELECT * from root r where r.id = '2'"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdDatabase.queryContainers(query, options); FeedResponseListValidator validator = new FeedResponseListValidator.Builder() diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CosmosAsyncConflictTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CosmosAsyncConflictTest.java index 9e24ce97d56d..e04271b228dc 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CosmosAsyncConflictTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CosmosAsyncConflictTest.java @@ -7,7 +7,7 @@ import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.models.CosmosConflictProperties; import com.azure.cosmos.util.CosmosPagedFlux; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.implementation.HttpConstants; import org.testng.annotations.AfterClass; @@ -35,7 +35,7 @@ public CosmosAsyncConflictTest(CosmosClientBuilder clientBuilder) { public void readConflicts_toBlocking_toIterator() { int requestPageSize = 3; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux conflictReadFeedFlux = createdCollection.readAllConflicts(options); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CosmosAuthorizationTokenResolverTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CosmosAuthorizationTokenResolverTest.java index 9fa358a13b25..1bb92659d634 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CosmosAuthorizationTokenResolverTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CosmosAuthorizationTokenResolverTest.java @@ -11,7 +11,7 @@ import com.azure.cosmos.implementation.ConnectionPolicy; import com.azure.cosmos.ConsistencyLevel; import com.azure.cosmos.implementation.CosmosResourceType; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.PartitionKey; @@ -353,7 +353,7 @@ public void readDocumentsWithAllPermission(ConnectionMode connectionMode) { expectedIds.add(rid2); String query = "SELECT * FROM r WHERE r._rid=\"" + rid1 + "\" or r._rid=\"" + rid2 + "\""; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); Flux> queryObservable = asyncClientWithTokenResolver.queryDocuments(createdCollection.getSelfLink(), query, options); FeedResponseListValidator validator = new FeedResponseListValidator.Builder() diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/DatabaseQueryTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/DatabaseQueryTest.java index fae1451d4b52..1995bbb70046 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/DatabaseQueryTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/DatabaseQueryTest.java @@ -9,8 +9,7 @@ import com.azure.cosmos.implementation.FeedResponseListValidator; import com.azure.cosmos.implementation.FeedResponseValidator; import com.azure.cosmos.models.CosmosDatabaseProperties; -import com.azure.cosmos.models.FeedOptions; -import com.azure.cosmos.models.ModelBridgeInternal; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.util.CosmosPagedFlux; import org.apache.commons.lang3.StringUtils; import org.testng.annotations.AfterClass; @@ -42,7 +41,7 @@ public DatabaseQueryTest(CosmosClientBuilder clientBuilder) { public void queryDatabaseWithFilter() throws Exception { String query = String.format("SELECT * from c where c.id = '%s'", databaseId1); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 2; CosmosPagedFlux queryObservable = client.queryDatabases(query, options); @@ -71,7 +70,7 @@ public void queryAllDatabase() throws Exception { databaseId1, databaseId2); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 2; CosmosPagedFlux queryObservable = client.queryDatabases(query, options); @@ -96,7 +95,7 @@ public void queryAllDatabase() throws Exception { public void queryDatabases_NoResults() throws Exception { String query = "SELECT * from root r where r.id = '2'"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = client.queryDatabases(query, options); FeedResponseListValidator validator = new FeedResponseListValidator.Builder() diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/DistinctQueryTests.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/DistinctQueryTests.java index 85eb05b92c0f..9bc94038beef 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/DistinctQueryTests.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/DistinctQueryTests.java @@ -11,7 +11,7 @@ import com.azure.cosmos.implementation.JsonSerializable; import com.azure.cosmos.implementation.Utils; import com.azure.cosmos.implementation.query.UnorderedDistinctMap; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.util.CosmosPagedFlux; @@ -79,7 +79,7 @@ private static int getRandomAge(Random rand) { @Test(groups = {"simple"}, timeOut = TIMEOUT, dataProvider = "queryMetricsArgProvider") public void queryDocuments(boolean qmEnabled) { String query = "SELECT DISTINCT c.name from c"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setQueryMetricsEnabled(qmEnabled); options.setMaxDegreeOfParallelism(2); CosmosPagedFlux queryObservable = @@ -194,7 +194,7 @@ public void queryDistinctDocuments() { for (String query : queries) { logger.info("Current distinct query: " + query); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); List documentsFromWithDistinct = new ArrayList<>(); @@ -248,7 +248,7 @@ public void queryDistinctDocuments() { @Test(groups = {"simple"}, timeOut = TIMEOUT, dataProvider = "queryMetricsArgProvider") public void queryDocumentsForDistinctIntValues(boolean qmEnabled) { String query = "SELECT DISTINCT c.intprop from c"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setQueryMetricsEnabled(qmEnabled); options.setMaxDegreeOfParallelism(2); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/MultiOrderByQueryTests.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/MultiOrderByQueryTests.java index 2d78831fe350..4635382319b5 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/MultiOrderByQueryTests.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/MultiOrderByQueryTests.java @@ -9,13 +9,12 @@ import com.azure.cosmos.CosmosAsyncClient; import com.azure.cosmos.CosmosAsyncContainer; import com.azure.cosmos.CosmosClientBuilder; -import com.azure.cosmos.CosmosException; import com.azure.cosmos.models.CosmosContainerProperties; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.implementation.CosmosItemProperties; import com.azure.cosmos.models.CosmosItemRequestOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.implementation.FailureValidator; import com.azure.cosmos.implementation.FeedResponseListValidator; import com.fasterxml.jackson.databind.ObjectMapper; @@ -191,7 +190,7 @@ private CosmosItemProperties generateMultiOrderByDocument() { @Test(groups = { "simple" }, timeOut = TIMEOUT) public void queryDocumentsWithMultiOrder() throws InterruptedException { - FeedOptions feedOptions = new FeedOptions(); + QueryRequestOptions queryRequestOptions = new QueryRequestOptions(); boolean[] booleanValues = new boolean[] {true, false}; @@ -248,7 +247,7 @@ public void queryDocumentsWithMultiOrder() throws InterruptedException { List expectedOrderedList = top(sort(filter(this.documents, hasFilter), compositeIndex, invert), hasTop, topCount) ; - CosmosPagedFlux queryObservable = documentCollection.queryItems(query, feedOptions, CosmosItemProperties.class); + CosmosPagedFlux queryObservable = documentCollection.queryItems(query, queryRequestOptions, CosmosItemProperties.class); FeedResponseListValidator validator = new FeedResponseListValidator .Builder() @@ -267,7 +266,7 @@ public void queryDocumentsWithMultiOrder() throws InterruptedException { BridgeInternal.remove(documentWithEmptyField, NUMBER_FIELD); documentCollection.createItem(documentWithEmptyField, new CosmosItemRequestOptions()).block(); String query = "SELECT [root." + NUMBER_FIELD + ",root." + STRING_FIELD + "] FROM root ORDER BY root." + NUMBER_FIELD + " ASC ,root." + STRING_FIELD + " DESC"; - CosmosPagedFlux queryObservable = documentCollection.queryItems(query, feedOptions, CosmosItemProperties.class); + CosmosPagedFlux queryObservable = documentCollection.queryItems(query, queryRequestOptions, CosmosItemProperties.class); FailureValidator validator = new FailureValidator.Builder() .instanceOf(UnsupportedOperationException.class) diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/OfferQueryTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/OfferQueryTest.java index add79ba11b51..7249a66f526b 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/OfferQueryTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/OfferQueryTest.java @@ -2,10 +2,6 @@ // Licensed under the MIT License. package com.azure.cosmos.rx; -import com.azure.cosmos.models.FeedOptions; -import com.azure.cosmos.models.FeedResponse; -import com.azure.cosmos.models.ModelBridgeInternal; -import com.azure.cosmos.models.PartitionKeyDefinition; import com.azure.cosmos.implementation.AsyncDocumentClient; import com.azure.cosmos.implementation.AsyncDocumentClient.Builder; import com.azure.cosmos.implementation.Database; @@ -16,6 +12,10 @@ import com.azure.cosmos.implementation.Offer; import com.azure.cosmos.implementation.TestSuiteBase; import com.azure.cosmos.implementation.TestUtils; +import com.azure.cosmos.models.FeedResponse; +import com.azure.cosmos.models.ModelBridgeInternal; +import com.azure.cosmos.models.PartitionKeyDefinition; +import com.azure.cosmos.models.QueryRequestOptions; import org.assertj.core.util.Strings; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; @@ -54,8 +54,8 @@ public void queryOffersWithFilter() throws Exception { String collectionResourceId = createdCollections.get(0).getResourceId(); String query = String.format("SELECT * from c where c.offerResourceId = '%s'", collectionResourceId); - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, 2); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, 2); Flux> queryObservable = client.queryOffers(query, null); List allOffers = client.readOffers(null).flatMap(f -> Flux.fromIterable(f.getResults())).collectList().single().block(); @@ -63,7 +63,8 @@ public void queryOffersWithFilter() throws Exception { assertThat(expectedOffers).isNotEmpty(); - int expectedPageSize = (expectedOffers.size() + options.getMaxItemCount() - 1) / options.getMaxItemCount(); + Integer maxItemCount = ModelBridgeInternal.getMaxItemCountFromQueryRequestOptions(options); + int expectedPageSize = (expectedOffers.size() + maxItemCount - 1) / maxItemCount; FeedResponseListValidator validator = new FeedResponseListValidator.Builder() .totalSize(expectedOffers.size()) @@ -83,8 +84,8 @@ public void queryOffersFilterMorePages() throws Exception { String query = String.format("SELECT * from c where c.offerResourceId in (%s)", Strings.join(collectionResourceIds.stream().map(s -> "'" + s + "'").collect(Collectors.toList())).with(",")); - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, 1); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, 1); Flux> queryObservable = client.queryOffers(query, options); List expectedOffers = client.readOffers(null).flatMap(f -> Flux.fromIterable(f.getResults())) @@ -95,7 +96,8 @@ public void queryOffersFilterMorePages() throws Exception { assertThat(expectedOffers).hasSize(createdCollections.size()); - int expectedPageSize = (expectedOffers.size() + options.getMaxItemCount() - 1) / options.getMaxItemCount(); + Integer maxItemCount = ModelBridgeInternal.getMaxItemCountFromQueryRequestOptions(options); + int expectedPageSize = (expectedOffers.size() + maxItemCount- 1) / maxItemCount; FeedResponseListValidator validator = new FeedResponseListValidator.Builder() .totalSize(expectedOffers.size()) @@ -112,7 +114,7 @@ public void queryOffersFilterMorePages() throws Exception { public void queryCollections_NoResults() throws Exception { String query = "SELECT * from root r where r.id = '2'"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); Flux> queryObservable = client.queryCollections(getDatabaseLink(), query, options); FeedResponseListValidator validator = new FeedResponseListValidator.Builder() diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/OffsetLimitQueryTests.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/OffsetLimitQueryTests.java index a376aced3fe2..16dde4fa6319 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/OffsetLimitQueryTests.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/OffsetLimitQueryTests.java @@ -10,7 +10,7 @@ import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.implementation.CosmosItemProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.implementation.FeedResponseListValidator; import com.azure.cosmos.implementation.FeedResponseValidator; @@ -53,7 +53,7 @@ public void queryDocuments(boolean qmEnabled) { int skipCount = 4; int takeCount = 10; String query = "SELECT * from c OFFSET " + skipCount + " LIMIT " + takeCount; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setQueryMetricsEnabled(qmEnabled); options.setMaxDegreeOfParallelism(2); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, @@ -76,7 +76,7 @@ public void drainAllDocumentsUsingOffsetLimit() { int skipCount = 0; int takeCount = 2; String query = "SELECT * from c OFFSET " + skipCount + " LIMIT " + takeCount; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable; int totalDocsObtained = 0; @@ -148,7 +148,7 @@ private List queryWithContinuationTokens(String query, int List receivedDocuments = new ArrayList(); do { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/OrderbyDocumentQueryTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/OrderbyDocumentQueryTest.java index 93811f1b7b82..6c60418888e9 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/OrderbyDocumentQueryTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/OrderbyDocumentQueryTest.java @@ -13,7 +13,7 @@ import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.implementation.CosmosItemProperties; import com.azure.cosmos.models.CosmosItemRequestOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.implementation.Resource; @@ -74,7 +74,7 @@ public void queryDocumentsValidateContent(boolean qmEnabled) throws Exception { + " ORDER BY r.propInt" , ModelBridgeInternal.getStringFromJsonSerializable(expectedDocument,"propStr")); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setQueryMetricsEnabled(qmEnabled); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); @@ -102,7 +102,7 @@ public void queryDocumentsValidateContent(boolean qmEnabled) throws Exception { @Test(groups = { "simple" }, timeOut = TIMEOUT) public void queryDocuments_NoResults() throws Exception { String query = "SELECT * from root r where r.id = '2' ORDER BY r.propInt"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); @@ -125,7 +125,7 @@ public Object[][] sortOrder() { @Test(groups = { "simple" }, timeOut = TIMEOUT, dataProvider = "sortOrder") public void queryOrderBy(String sortOrder) throws Exception { String query = String.format("SELECT * FROM r ORDER BY r.propInt %s", sortOrder); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int pageSize = 3; CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); @@ -152,7 +152,7 @@ public void queryOrderBy(String sortOrder) throws Exception { @Test(groups = {"simple"}, timeOut = TIMEOUT, dataProvider = "sortOrder") public void queryOrderByWithValue(String sortOrder) throws Exception { String query = String.format("SELECT value r.propInt FROM r ORDER BY r.propInt %s", sortOrder); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int pageSize = 3; CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, @@ -184,7 +184,7 @@ public void queryOrderByWithValue(String sortOrder) throws Exception { @Test(groups = { "simple" }, timeOut = TIMEOUT) public void queryOrderByInt() throws Exception { String query = "SELECT * FROM r ORDER BY r.propInt"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int pageSize = 3; CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); @@ -207,7 +207,7 @@ public void queryOrderByInt() throws Exception { @Test(groups = { "simple" }, timeOut = TIMEOUT) public void queryOrderByString() throws Exception { String query = "SELECT * FROM r ORDER BY r.propStr"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int pageSize = 3; CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); @@ -236,7 +236,7 @@ public Object[][] topValueParameter() { @Test(groups = { "simple" }, timeOut = TIMEOUT, dataProvider = "topValue") public void queryOrderWithTop(int topValue) throws Exception { String query = String.format("SELECT TOP %d * FROM r ORDER BY r.propInt", topValue); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int pageSize = 3; CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); @@ -280,7 +280,7 @@ private List sortDocumentsAndCollectValues(String propName, @Test(groups = { "simple" }, timeOut = TIMEOUT) public void queryScopedToSinglePartition_StartWithContinuationToken() throws Exception { String query = "SELECT * FROM r ORDER BY r.propScopedPartitionInt ASC"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setPartitionKey(new PartitionKey("duplicateParitionKeyValue")); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); @@ -303,7 +303,8 @@ public void queryScopedToSinglePartition_StartWithContinuationToken() throws Exc List expectedDocs = createdDocuments.stream() .filter(d -> (StringUtils.equals("duplicateParitionKeyValue", ModelBridgeInternal.getStringFromJsonSerializable(d,"mypk")))) .filter(d -> (ModelBridgeInternal.getIntFromJsonSerializable(d,"propScopedPartitionInt") > 2)).collect(Collectors.toList()); - int expectedPageSize = (expectedDocs.size() + options.getMaxItemCount() - 1) / options.getMaxItemCount(); + Integer maxItemCount = ModelBridgeInternal.getMaxItemCountFromQueryRequestOptions(options); + int expectedPageSize = (expectedDocs.size() + maxItemCount - 1) / maxItemCount; assertThat(expectedDocs).hasSize(10 - 3); @@ -478,7 +479,7 @@ public void afterClass() { private void assertInvalidContinuationToken(String query, int[] pageSize, List expectedIds) { String requestContinuation = null; do { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); OrderByContinuationToken orderByContinuationToken = new OrderByContinuationToken( @@ -516,7 +517,7 @@ private List queryWithContinuationTokens(String query, int List continuationTokens = new ArrayList(); List receivedDocuments = new ArrayList(); do { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ParallelDocumentQueryTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ParallelDocumentQueryTest.java index 2018e73e80d9..83f22567af9b 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ParallelDocumentQueryTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ParallelDocumentQueryTest.java @@ -15,7 +15,7 @@ import com.azure.cosmos.implementation.ItemOperations; import com.azure.cosmos.implementation.CosmosItemProperties; import com.azure.cosmos.implementation.apachecommons.lang.tuple.Pair; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.implementation.Resource; @@ -79,7 +79,7 @@ public Object[][] queryMetricsArgProvider() { @Test(groups = { "simple" }, timeOut = TIMEOUT, dataProvider = "queryMetricsArgProvider") public void queryDocuments(boolean qmEnabled) { String query = "SELECT * from c where c.prop = 99"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setQueryMetricsEnabled(qmEnabled); options.setMaxDegreeOfParallelism(2); @@ -102,7 +102,7 @@ public void queryDocuments(boolean qmEnabled) { @Test(groups = { "simple" }, timeOut = TIMEOUT) public void queryMetricEquality() throws Exception { String query = "SELECT * from c where c.prop = 99"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setQueryMetricsEnabled(true); options.setMaxDegreeOfParallelism(0); @@ -137,7 +137,7 @@ private void compareQueryMetrics(Map qm1, Map queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); @@ -154,7 +154,7 @@ public void queryDocuments_NoResults() { @Test(groups = { "simple" }, timeOut = 2 * TIMEOUT) public void queryDocumentsWithPageSize() { String query = "SELECT * from root"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int pageSize = 3; options.setMaxDegreeOfParallelism(-1); @@ -181,7 +181,7 @@ public void queryDocumentsWithPageSize() { @Test(groups = { "simple" }, timeOut = TIMEOUT) public void invalidQuerySyntax() { String query = "I am an invalid query"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); @@ -196,7 +196,7 @@ public void invalidQuerySyntax() { @Test(groups = { "simple" }, timeOut = TIMEOUT) public void crossPartitionQueryNotEnabled() { String query = "SELECT * from root"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); List expectedDocs = createdDocuments; @@ -220,7 +220,7 @@ public void partitionKeyRangeId() { .flatMap(p -> Flux.fromIterable(p.getResults())) .map(Resource::getId).collectList().single().block()) { String query = "SELECT * from root"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); partitionKeyRangeIdInternal(options, partitionKeyRangeId); int queryResultCount = createdCollection.queryItems(query, options, CosmosItemProperties.class) .byPage() @@ -281,7 +281,7 @@ public void queryDocumentsWithCompositeContinuationTokens() throws Exception { @Test(groups = { "simple" }) public void queryDocumentsStringValue(){ - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); @@ -300,7 +300,7 @@ public void queryDocumentsStringValue(){ @Test(groups = { "simple" }) @SuppressWarnings("rawtypes") public void queryDocumentsArrayValue(){ - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); @@ -332,7 +332,7 @@ public void queryDocumentsArrayValue(){ @Test(groups = { "simple" }) public void queryDocumentsIntegerValue(){ - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); @@ -350,7 +350,7 @@ public void queryDocumentsIntegerValue(){ @Test(groups = {"simple"}) public void queryDocumentsBooleanValue() { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); @@ -371,7 +371,7 @@ public void queryDocumentsBooleanValue() { @Test(groups = {"simple"}) public void queryDocumentsDoubleValue() { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); @@ -392,7 +392,7 @@ public void queryDocumentsDoubleValue() { @Test(groups = {"simple"}) public void queryDocumentsDoubleValueToInt() { // When try try to fetch double value using integer class, it should fail - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); String query = "Select value c._value from c"; CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, Integer.class); @@ -409,7 +409,7 @@ public void queryDocumentsDoubleValueToInt() { @Test(groups = { "simple" }) public void queryDocumentsPojo(){ - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); String query = "Select * from c"; @@ -545,7 +545,7 @@ public void setSgmts(List> sgmts) { public void invalidQuerySytax() throws Exception { String query = "I am an invalid query"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); @@ -583,7 +583,7 @@ private List queryWithContinuationTokens(String query, int List continuationTokens = new ArrayList(); List receivedDocuments = new ArrayList(); do { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/QueryValidationTests.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/QueryValidationTests.java index 095697b13b11..1662ecd3a6fc 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/QueryValidationTests.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/QueryValidationTests.java @@ -5,7 +5,7 @@ import com.azure.cosmos.CosmosAsyncClient; import com.azure.cosmos.CosmosAsyncContainer; import com.azure.cosmos.CosmosClientBuilder; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.util.CosmosPagedFlux; import org.testng.annotations.BeforeClass; @@ -83,7 +83,7 @@ private List queryWithContinuationTokens(String query, int pageSize, Clas String requestContinuation = null; List receivedDocuments = new ArrayList<>(); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); do { diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedCollectionsTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedCollectionsTest.java index c59da5d0d3fe..f095b5d00efa 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedCollectionsTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedCollectionsTest.java @@ -8,10 +8,9 @@ import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.models.CosmosContainerProperties; import com.azure.cosmos.models.CosmosContainerRequestOptions; -import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.CosmosDatabaseForTest; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.PartitionKeyDefinition; import com.azure.cosmos.implementation.FeedResponseListValidator; import com.azure.cosmos.implementation.FeedResponseValidator; @@ -46,7 +45,7 @@ public ReadFeedCollectionsTest(CosmosClientBuilder clientBuilder) { @Test(groups = { "simple" }, timeOut = FEED_TIMEOUT) public void readCollections() throws Exception { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 2; diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedDatabasesTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedDatabasesTest.java index ad7131c21eb2..223b113b2db0 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedDatabasesTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedDatabasesTest.java @@ -4,11 +4,9 @@ import com.azure.cosmos.CosmosAsyncClient; import com.azure.cosmos.CosmosClientBuilder; -import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.models.CosmosDatabaseProperties; import com.azure.cosmos.models.CosmosDatabaseRequestOptions; -import com.azure.cosmos.models.FeedOptions; import com.azure.cosmos.implementation.FeedResponseListValidator; import com.azure.cosmos.implementation.FeedResponseValidator; import org.testng.annotations.AfterClass; diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedDocumentsTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedDocumentsTest.java index 3c4b113f1eeb..6b8e98d4f991 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedDocumentsTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedDocumentsTest.java @@ -8,7 +8,7 @@ import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.implementation.CosmosItemProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.implementation.Resource; import com.azure.cosmos.implementation.FeedResponseListValidator; import com.azure.cosmos.implementation.FeedResponseValidator; @@ -37,7 +37,7 @@ public ReadFeedDocumentsTest(CosmosClientBuilder clientBuilder) { @Test(groups = { "simple" }, timeOut = FEED_TIMEOUT) public void readDocuments() { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 2; CosmosPagedFlux feedObservable = createdCollection @@ -58,7 +58,7 @@ public void readDocuments() { public void readDocuments_withoutEnableCrossPartitionQuery() { // With introduction of queryplan, crosspartition need not be enabled anymore. - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 2; CosmosPagedFlux feedObservable = createdCollection .queryItems("SELECT * FROM r", options, CosmosItemProperties.class); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedExceptionHandlingTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedExceptionHandlingTest.java index f51d0149e538..b9424abd3d32 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedExceptionHandlingTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedExceptionHandlingTest.java @@ -7,7 +7,6 @@ import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.models.CosmosDatabaseProperties; -import com.azure.cosmos.models.FeedOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.util.UtilBridgeInternal; import io.reactivex.subscribers.TestSubscriber; diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedOffersTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedOffersTest.java index 434787df0307..41043ebb48da 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedOffersTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedOffersTest.java @@ -2,7 +2,7 @@ // Licensed under the MIT License. package com.azure.cosmos.rx; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.PartitionKeyDefinition; @@ -48,12 +48,13 @@ public ReadFeedOffersTest(AsyncDocumentClient.Builder clientBuilder) { @Test(groups = { "emulator" }, timeOut = FEED_TIMEOUT) public void readOffers() throws Exception { - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, 2); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, 2); Flux> feedObservable = client.readOffers(options); - int expectedPageSize = (allOffers.size() + options.getMaxItemCount() - 1) / options.getMaxItemCount(); + int maxItemCount = ModelBridgeInternal.getMaxItemCountFromQueryRequestOptions(options); + int expectedPageSize = (allOffers.size() + maxItemCount - 1) / maxItemCount; FeedResponseListValidator validator = new FeedResponseListValidator.Builder() .totalSize(allOffers.size()) diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedPermissionsTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedPermissionsTest.java index 2e75428234be..8be92a130326 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedPermissionsTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedPermissionsTest.java @@ -11,8 +11,6 @@ import com.azure.cosmos.implementation.FeedResponseValidator; import com.azure.cosmos.models.CosmosPermissionProperties; import com.azure.cosmos.models.CosmosUserProperties; -import com.azure.cosmos.models.FeedOptions; -import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.PermissionMode; import com.azure.cosmos.util.CosmosPagedFlux; import org.testng.annotations.AfterClass; diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedPkrTests.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedPkrTests.java index 08b6e0c554df..204f5f989f24 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedPkrTests.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedPkrTests.java @@ -7,7 +7,7 @@ import com.azure.cosmos.CosmosBridgeInternal; import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.models.CosmosContainerRequestOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.implementation.AsyncDocumentClient; import com.azure.cosmos.implementation.FeedResponseListValidator; @@ -35,8 +35,8 @@ public ReadFeedPkrTests(CosmosClientBuilder clientBuilder) { @Test(groups = { "emulator" }, timeOut = FEED_TIMEOUT) public void readPartitionKeyRanges() throws Exception { - FeedOptions options = new FeedOptions(); - ModelBridgeInternal.setFeedOptionsMaxItemCount(options, 2); + QueryRequestOptions options = new QueryRequestOptions(); + ModelBridgeInternal.setQueryRequestOptionsMaxItemCount(options, 2); Flux> feedObservable = client.readPartitionKeyRanges(getCollectionLink(), options); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedStoredProceduresTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedStoredProceduresTest.java index 9d847d65a2a6..2d309f7e058f 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedStoredProceduresTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedStoredProceduresTest.java @@ -5,11 +5,9 @@ import com.azure.cosmos.CosmosAsyncClient; import com.azure.cosmos.CosmosAsyncContainer; import com.azure.cosmos.CosmosClientBuilder; -import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.models.CosmosStoredProcedureProperties; import com.azure.cosmos.models.CosmosStoredProcedureRequestOptions; -import com.azure.cosmos.models.FeedOptions; import com.azure.cosmos.implementation.FeedResponseListValidator; import com.azure.cosmos.implementation.FeedResponseValidator; import org.testng.annotations.AfterClass; diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedTriggersTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedTriggersTest.java index 86c06fcc4686..857c31c7e3c6 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedTriggersTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedTriggersTest.java @@ -5,10 +5,8 @@ import com.azure.cosmos.CosmosAsyncClient; import com.azure.cosmos.CosmosAsyncContainer; import com.azure.cosmos.CosmosClientBuilder; -import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.models.CosmosTriggerProperties; -import com.azure.cosmos.models.FeedOptions; import com.azure.cosmos.models.TriggerOperation; import com.azure.cosmos.models.TriggerType; import com.azure.cosmos.implementation.FeedResponseListValidator; diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedUdfsTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedUdfsTest.java index 875d1174ea86..12b9fa0d9734 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedUdfsTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedUdfsTest.java @@ -5,10 +5,8 @@ import com.azure.cosmos.CosmosAsyncClient; import com.azure.cosmos.CosmosAsyncContainer; import com.azure.cosmos.CosmosClientBuilder; -import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.models.CosmosUserDefinedFunctionProperties; -import com.azure.cosmos.models.FeedOptions; import com.azure.cosmos.implementation.Database; import com.azure.cosmos.implementation.FeedResponseListValidator; import com.azure.cosmos.implementation.FeedResponseValidator; diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedUsersTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedUsersTest.java index 0102e111e5da..e6103fa0246c 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedUsersTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ReadFeedUsersTest.java @@ -5,11 +5,9 @@ import com.azure.cosmos.CosmosAsyncClient; import com.azure.cosmos.CosmosAsyncDatabase; import com.azure.cosmos.CosmosClientBuilder; -import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.CosmosDatabaseForTest; import com.azure.cosmos.models.CosmosUserProperties; -import com.azure.cosmos.models.FeedOptions; import com.azure.cosmos.implementation.FeedResponseListValidator; import com.azure.cosmos.implementation.FeedResponseValidator; import org.testng.annotations.AfterClass; diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/SinglePartitionDocumentQueryTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/SinglePartitionDocumentQueryTest.java index 0449847d336e..6c684b2d94dc 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/SinglePartitionDocumentQueryTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/SinglePartitionDocumentQueryTest.java @@ -12,7 +12,7 @@ import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.implementation.CosmosItemProperties; import com.azure.cosmos.models.CosmosItemRequestOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.SqlParameter; import com.azure.cosmos.models.SqlQuerySpec; @@ -57,7 +57,7 @@ public void queryDocuments(boolean queryMetricsEnabled) throws Exception { String query = "SELECT * from c where c.prop = 99"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 5; options.setQueryMetricsEnabled(queryMetricsEnabled); @@ -86,7 +86,7 @@ public void queryDocuments_ParameterizedQueryWithInClause() throws Exception { List params = Lists.newArrayList(new SqlParameter("@param1", 3), new SqlParameter("@param2", 4)); SqlQuerySpec sqs = new SqlQuerySpec(query, params); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 5; CosmosPagedFlux queryObservable = createdCollection.queryItems(sqs, options, CosmosItemProperties.class); @@ -112,7 +112,7 @@ public void queryDocuments_ParameterizedQuery() throws Exception { String query = "SELECT * from c where c.prop = @param"; SqlQuerySpec sqs = new SqlQuerySpec(query, Collections.singletonList(new SqlParameter("@param", 3))); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 5; CosmosPagedFlux queryObservable = createdCollection.queryItems(sqs, options, CosmosItemProperties.class); @@ -137,7 +137,7 @@ public void queryDocuments_ParameterizedQuery() throws Exception { public void queryDocuments_NoResults() throws Exception { String query = "SELECT * from root r where r.id = '2'"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); @@ -154,7 +154,7 @@ public void queryDocuments_NoResults() throws Exception { public void queryDocumentsWithPageSize() throws Exception { String query = "SELECT * from root"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 3; CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); @@ -180,7 +180,7 @@ public void queryDocumentsWithPageSize() throws Exception { public void queryOrderBy() throws Exception { String query = "SELECT * FROM r ORDER BY r.prop ASC"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 3; CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); @@ -204,7 +204,7 @@ public void queryOrderBy() throws Exception { @Test(groups = { "simple" }, timeOut = TIMEOUT * 1000) public void continuationToken() throws Exception { String query = "SELECT * FROM r ORDER BY r.prop ASC"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 3; CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); @@ -244,7 +244,7 @@ public void continuationToken() throws Exception { @Test(groups = { "simple" }, timeOut = TIMEOUT) public void invalidQuerySytax() throws Exception { String query = "I am an invalid query"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/SinglePartitionReadFeedDocumentsTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/SinglePartitionReadFeedDocumentsTest.java index 3043a542f89e..fa89d8e81790 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/SinglePartitionReadFeedDocumentsTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/SinglePartitionReadFeedDocumentsTest.java @@ -7,7 +7,7 @@ import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.implementation.CosmosItemProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.implementation.FeedResponseListValidator; import com.azure.cosmos.implementation.FeedResponseValidator; import org.testng.annotations.AfterClass; @@ -34,7 +34,7 @@ public SinglePartitionReadFeedDocumentsTest(CosmosClientBuilder clientBuilder) { @Test(groups = { "simple" }, timeOut = FEED_TIMEOUT) public void readDocuments() { - final FeedOptions options = new FeedOptions(); + final QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 2; final CosmosPagedFlux feedObservable = createdCollection diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/StoredProcedureQueryTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/StoredProcedureQueryTest.java index 884c608a92d1..8cdafc8614e6 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/StoredProcedureQueryTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/StoredProcedureQueryTest.java @@ -8,7 +8,7 @@ import com.azure.cosmos.CosmosException; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.models.CosmosStoredProcedureProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.implementation.FailureValidator; import com.azure.cosmos.implementation.FeedResponseListValidator; import com.azure.cosmos.implementation.FeedResponseValidator; @@ -42,7 +42,7 @@ public void queryWithFilter() throws Exception { String filterId = createdStoredProcs.get(0).getId(); String query = String.format("SELECT * from c where c.id = '%s'", filterId); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 5; CosmosPagedFlux queryObservable = createdCollection.getScripts() .queryStoredProcedures(query, options); @@ -68,7 +68,7 @@ public void queryWithFilter() throws Exception { public void query_NoResults() throws Exception { String query = "SELECT * from root r where r.id = '2'"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection.getScripts() .queryStoredProcedures(query, options); @@ -85,7 +85,7 @@ public void query_NoResults() throws Exception { public void queryAll() throws Exception { String query = "SELECT * from root"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 3; CosmosPagedFlux queryObservable = createdCollection.getScripts() @@ -108,7 +108,7 @@ public void queryAll() throws Exception { @Test(groups = { "simple" }, timeOut = TIMEOUT) public void invalidQuerySytax() throws Exception { String query = "I am an invalid query"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection.getScripts() .queryStoredProcedures(query, options); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TestSuiteBase.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TestSuiteBase.java index a972092481c2..7eb578847ada 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TestSuiteBase.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TestSuiteBase.java @@ -45,7 +45,7 @@ import com.azure.cosmos.models.CosmosUserProperties; import com.azure.cosmos.models.CosmosUserResponse; import com.azure.cosmos.models.DataType; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.IncludedPath; import com.azure.cosmos.models.Index; @@ -229,7 +229,7 @@ protected static void truncateCollection(CosmosAsyncContainer cosmosContainer) { String cosmosContainerId = cosmosContainerProperties.getId(); logger.info("Truncating collection {} ...", cosmosContainerId); List paths = cosmosContainerProperties.getPartitionKeyDefinition().getPaths(); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(-1); int maxItemCount = 100; @@ -579,7 +579,7 @@ public static void deleteCollection(CosmosAsyncContainer cosmosContainer) { } public static void deleteDocumentIfExists(CosmosAsyncClient client, String databaseId, String collectionId, String docId) { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setPartitionKey(new PartitionKey(docId)); CosmosAsyncContainer cosmosContainer = client.getDatabase(databaseId).getContainer(collectionId); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TopQueryTests.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TopQueryTests.java index 593b622c2c80..9bc66cbadcd2 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TopQueryTests.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TopQueryTests.java @@ -8,7 +8,7 @@ import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.implementation.CosmosItemProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.FeedResponse; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.implementation.FeedResponseListValidator; @@ -49,7 +49,7 @@ public TopQueryTests(CosmosClientBuilder clientBuilder) { @Test(groups = { "simple" }, timeOut = TIMEOUT, dataProvider = "queryMetricsArgProvider", retryAnalyzer = RetryAnalyzer.class) public void queryDocumentsWithTop(boolean qmEnabled) throws Exception { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); options.setQueryMetricsEnabled(qmEnabled); @@ -142,7 +142,7 @@ private List queryWithContinuationTokens(String query, int List receivedDocuments = new ArrayList(); do { - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); options.setMaxDegreeOfParallelism(2); CosmosPagedFlux queryObservable = createdCollection.queryItems(query, options, CosmosItemProperties.class); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TriggerQueryTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TriggerQueryTest.java index 9ff5a10038a0..7cd8f1317068 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TriggerQueryTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TriggerQueryTest.java @@ -10,7 +10,7 @@ import com.azure.cosmos.implementation.FeedResponseListValidator; import com.azure.cosmos.implementation.FeedResponseValidator; import com.azure.cosmos.models.CosmosTriggerProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.models.TriggerOperation; import com.azure.cosmos.models.TriggerType; import com.azure.cosmos.util.CosmosPagedFlux; @@ -44,7 +44,7 @@ public void queryWithFilter() throws Exception { String filterId = createdTriggers.get(0).getId(); String query = String.format("SELECT * from c where c.id = '%s'", filterId); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 5; CosmosPagedFlux queryObservable = createdCollection.getScripts().queryTriggers(query, options); @@ -71,7 +71,7 @@ public void queryWithFilter() throws Exception { public void query_NoResults() throws Exception { String query = "SELECT * from root r where r.id = '2'"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection.getScripts().queryTriggers(query, options); @@ -88,7 +88,7 @@ public void query_NoResults() throws Exception { public void queryAll() throws Exception { String query = "SELECT * from root"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 3; CosmosPagedFlux queryObservable = createdCollection.getScripts().queryTriggers(query, options); @@ -116,7 +116,7 @@ public void queryAll() throws Exception { @Test(groups = { "simple" }, timeOut = TIMEOUT) public void invalidQuerySytax() throws Exception { String query = "I am an invalid query"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection.getScripts().queryTriggers(query, options); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/UserDefinedFunctionQueryTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/UserDefinedFunctionQueryTest.java index eadfa717974f..aef5cf16b596 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/UserDefinedFunctionQueryTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/UserDefinedFunctionQueryTest.java @@ -8,7 +8,7 @@ import com.azure.cosmos.CosmosException; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.models.CosmosUserDefinedFunctionProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.implementation.Database; import com.azure.cosmos.implementation.FailureValidator; import com.azure.cosmos.implementation.FeedResponseListValidator; @@ -49,7 +49,7 @@ public void queryWithFilter() throws Exception { String filterId = createdUDF.get(0).getId(); String query = String.format("SELECT * from c where c.id = '%s'", filterId); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 5; CosmosPagedFlux queryObservable = createdCollection.getScripts().queryUserDefinedFunctions(query, options); @@ -73,7 +73,7 @@ public void queryWithFilter() throws Exception { public void query_NoResults() throws Exception { String query = "SELECT * from root r where r.id = '2'"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection.getScripts().queryUserDefinedFunctions(query, options); @@ -90,7 +90,7 @@ public void query_NoResults() throws Exception { public void queryAll() throws Exception { String query = "SELECT * from root"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 3; @@ -116,7 +116,7 @@ public void queryAll() throws Exception { @Test(groups = { "simple" }, timeOut = TIMEOUT) public void invalidQuerySytax() throws Exception { String query = "I am an invalid query"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdCollection.getScripts().queryUserDefinedFunctions(query, options); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/UserQueryTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/UserQueryTest.java index b7b60c34c97b..d4049b19164e 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/UserQueryTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/UserQueryTest.java @@ -5,11 +5,10 @@ import com.azure.cosmos.CosmosAsyncClient; import com.azure.cosmos.CosmosAsyncDatabase; import com.azure.cosmos.CosmosClientBuilder; -import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.CosmosDatabaseForTest; import com.azure.cosmos.models.CosmosUserProperties; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import com.azure.cosmos.implementation.FeedResponseListValidator; import com.azure.cosmos.implementation.FeedResponseValidator; import com.azure.cosmos.implementation.TestUtils; @@ -46,7 +45,7 @@ public void queryUsersWithFilter() throws Exception { String filterUserId = createdUsers.get(0).getId(); String query = String.format("SELECT * from c where c.id = '%s'", filterUserId); - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 5; CosmosPagedFlux queryObservable = createdDatabase.queryUsers(query, options); @@ -73,7 +72,7 @@ public void queryAllUsers() throws Exception { String query = "SELECT * from c"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); int maxItemCount = 2; String databaseLink = TestUtils.getDatabaseNameLink(databaseId); CosmosPagedFlux queryObservable = createdDatabase.queryUsers(query, options); @@ -99,7 +98,7 @@ public void queryAllUsers() throws Exception { public void queryUsers_NoResults() throws Exception { String query = "SELECT * from root r where r.id = '2'"; - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux queryObservable = createdDatabase.queryUsers(query, options); FeedResponseListValidator validator = new FeedResponseListValidator.Builder() diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/VeryLargeDocumentQueryTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/VeryLargeDocumentQueryTest.java index 8684d1b52dba..ae324ec17642 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/VeryLargeDocumentQueryTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/VeryLargeDocumentQueryTest.java @@ -10,7 +10,7 @@ import com.azure.cosmos.util.CosmosPagedFlux; import com.azure.cosmos.implementation.CosmosItemProperties; import com.azure.cosmos.models.CosmosItemRequestOptions; -import com.azure.cosmos.models.FeedOptions; +import com.azure.cosmos.models.QueryRequestOptions; import org.apache.commons.lang3.StringUtils; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; @@ -48,7 +48,7 @@ public void queryLargeDocuments() { createLargeDocument(); } - FeedOptions options = new FeedOptions(); + QueryRequestOptions options = new QueryRequestOptions(); CosmosPagedFlux feedResponseFlux = createdCollection.queryItems("SELECT * FROM r", options, CosmosItemProperties.class);