Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
ebba922
set ConfigureAwait(false) for async calls
stephenatsembit Jan 22, 2025
27e0cc1
refactor command options, refactor naming, solidify sync/async method…
stephenatsembit Jan 28, 2025
012d71e
add sample appsettings file, remove test file
stephenatsembit Jan 28, 2025
7ad7210
remove bin and obj folders, move defaults to proper end of commandopt…
stephenatsembit Jan 30, 2025
37475b1
add unittest bin/obj, and appsettings to ignore
stephenatsembit Jan 30, 2025
5da9ccc
runnable state (renaming and test tweaks)
jeffrey-elliott Jan 31, 2025
6e14fe9
rename, .gitignore, DbId for admin tests
jeffrey-elliott Jan 31, 2025
01cd335
Merge pull request #1 from stephenatsembit/db_admin
a-random-steve Feb 1, 2025
4a09303
added ListDatabases, ListDatabasesNames and tests
jeffrey-elliott Feb 1, 2025
0044e28
turn off implicit usings to make .net462 happy
stephenatsembit Feb 1, 2025
c84088e
Merge pull request #2 from stephenatsembit/db_admin
a-random-steve Feb 1, 2025
23e7e3a
added DoesDatabaseExist by string and by guid
jeffrey-elliott Feb 6, 2025
114a373
Merge pull request #3 from stephenatsembit/db_admin
a-random-steve Feb 7, 2025
6c9e310
formatting
stephenatsembit Feb 7, 2025
6cb1cb4
todo for integration test to check for existence by name
stephenatsembit Feb 7, 2025
b4233e9
utilizing CommandOptions to affect the http calls, adding methods to …
stephenatsembit Feb 12, 2025
ae9082c
added create, drop; consistent naming
jeffrey-elliott Feb 12, 2025
de696d1
refs and formatting
jeffrey-elliott Feb 12, 2025
76d117a
spacing
jeffrey-elliott Feb 12, 2025
3f4b528
move test db name into config
stephenatsembit Feb 13, 2025
4d8614d
handle sync waitfordatabase
stephenatsembit Feb 13, 2025
0ce4e10
cleanup async methods
stephenatsembit Feb 13, 2025
d2526fa
refs and spacing
jeffrey-elliott Feb 13, 2025
ec11ccf
async delagte for CreateDatabase
jeffrey-elliott Feb 14, 2025
c775326
added DatabaseCreationOptions
jeffrey-elliott Feb 14, 2025
3024e03
remove t/s code
jeffrey-elliott Feb 14, 2025
4bd98d0
added CommandOptions
jeffrey-elliott Feb 14, 2025
d187fc1
finish handling of keyspace for database, naming adjustments
stephenatsembit Feb 17, 2025
d102ea2
Merge pull request #5 from stephenatsembit/database-admin
a-random-steve Feb 17, 2025
42e26c5
Merge commit '2334bb53b9027422e19c36f2165408c636ddc279'
stephenatsembit Feb 17, 2025
e05da62
fix merge errors
stephenatsembit Feb 17, 2025
4721ae1
additional merge issues
stephenatsembit Feb 17, 2025
3456673
beginnings of insert many
stephenatsembit Feb 20, 2025
de1ab3b
Merge branch 'collections-inserts' into collection-insert-many
stephenatsembit Feb 21, 2025
46cf764
fix merge issue
stephenatsembit Feb 21, 2025
dbb9cf6
collection.InsertMany, and initial FindOne and FindMany implementations
stephenatsembit Mar 5, 2025
ec14f98
FindOne fixes
stephenatsembit Mar 5, 2025
c211213
finish initial draft of querying single and multiple documents
stephenatsembit Mar 24, 2025
c27bf7a
Merge pull request #6 from stephenatsembit/collection-insert-many
a-random-steve Mar 24, 2025
1171300
Merge branch 'datastax:main' into main
a-random-steve Mar 24, 2025
f69bae3
DatabaseAdminAstra; tests and changes for AdminAstraDatabasesAdmin
jeffrey-elliott Mar 28, 2025
dbad808
added copyright block
jeffrey-elliott Mar 28, 2025
c2afae4
finish replace and delete
stephenatsembit Mar 28, 2025
b8aa936
misc serialization fixes, refactor findmany
stephenatsembit Mar 31, 2025
92fab72
Merge pull request #7 from stephenatsembit/admin-ltip
a-random-steve Mar 31, 2025
e013599
Merge commit '92fab728629bec78c3367bdb29d65917fa65a8a7' into collecti…
stephenatsembit Mar 31, 2025
bc3a2c7
adjust keyspace test
stephenatsembit Apr 1, 2025
b9b104f
Merge pull request #8 from stephenatsembit/collection-update
a-random-steve Apr 1, 2025
d4c0371
cleanup and add tests for distinct
stephenatsembit Apr 1, 2025
3b2ab82
Merge pull request #9 from stephenatsembit/collection-update
a-random-steve Apr 1, 2025
cfe16d7
Merge branch 'datastax:main' into main
a-random-steve Apr 10, 2025
f5bacde
initial documentation setup
stephenatsembit Apr 2, 2025
5f12dc6
doc testing
stephenatsembit Apr 2, 2025
c3ee6ea
adding client documentation as well as a few additional overloads
stephenatsembit Apr 2, 2025
cb797f7
finalized admin docfx comments
jeffrey-elliott Apr 3, 2025
2ee4f63
documentation and cleanup
stephenatsembit Apr 9, 2025
536ae5c
wrap examples with code element
stephenatsembit Apr 9, 2025
d665553
Merge branch 'datastax:main' into main
a-random-steve Apr 11, 2025
2528909
fix logo in documentation to work for light and dark mode
stephenatsembit Apr 11, 2025
c7aace8
added elements for nuget package
jeffrey-elliott Apr 11, 2025
c5f23f0
Merge pull request #10 from a-random-steve/adding-nuget
a-random-steve Apr 11, 2025
a42c6af
add copyright
stephenatsembit Apr 11, 2025
148b59c
update description, remove product
stephenatsembit Apr 11, 2025
8ebce2f
fix bug where deserialization of typed object doesn't account for jso…
stephenatsembit Apr 18, 2025
87b0b0b
update readme path for nuget
stephenatsembit Apr 28, 2025
c1b07f5
default id fixes (when creating collection from a strongly-typed obje…
stephenatsembit Apr 29, 2025
a764509
Merge branch 'upstream-main'
stephenatsembit Apr 29, 2025
d602ed0
fixes for null DocumentId properties
stephenatsembit Apr 29, 2025
e2f069e
Merge branch 'datastax:main' into main
a-random-steve Apr 29, 2025
ca54836
adding table functionality
stephenatsembit Apr 25, 2025
223f19b
added listing and creating indexes on tables
jeffrey-elliott May 7, 2025
a58f9e6
table find, insert, delete
stephenatsembit May 8, 2025
fa8c89d
create index mods after merge
stephenatsembit May 8, 2025
7f54f18
added alter table operations
jeffrey-elliott May 15, 2025
4b0a622
Merge pull request #11 from a-random-steve/alter-table
a-random-steve May 19, 2025
6f29963
misc fixes for tables as well as some collection deserialization fixe…
stephenatsembit May 19, 2025
8ec93d6
finish functionality for beta release of tables functionality
stephenatsembit May 20, 2025
390919c
cleanup and fixes
stephenatsembit May 22, 2025
e8161b0
Merge branch 'datastax:main' into main
a-random-steve May 22, 2025
3710f47
Merge branch 'main' into tables
stephenatsembit May 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 8 additions & 10 deletions src/DataStax.AstraDB.DataApi/Admin/AstraDatabasesAdmin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;

Expand Down Expand Up @@ -73,10 +72,9 @@ public List<string> ListDatabaseNames()
/// var names = await admin.ListDatabaseNamesAsync();
/// </code>
/// </example>
public async Task<List<string>> ListDatabaseNamesAsync()
public Task<List<string>> ListDatabaseNamesAsync()
{
var databases = await ListDatabasesAsync().ConfigureAwait(false);
return databases.Select(db => db.Info.Name).ToList();
return ListDatabaseNamesAsync(null);
}

/// <summary>
Expand Down Expand Up @@ -208,7 +206,7 @@ public bool DoesDatabaseExist(string databaseName)
public async Task<bool> DoesDatabaseExistAsync(string databaseName)
{
Guard.NotNullOrEmpty(databaseName, nameof(databaseName));
List<string> list = await ListDatabaseNamesAsync();
List<string> list = await ListDatabaseNamesAsync().ConfigureAwait(false);
return list.Contains(databaseName);
}

Expand Down Expand Up @@ -244,7 +242,7 @@ public async Task<bool> DoesDatabaseExistAsync(Guid dbGuid)
{
Guard.NotEmpty(dbGuid, nameof(dbGuid));
string guid = dbGuid.ToString();
List<DatabaseInfo> dbList = await ListDatabasesAsync();
List<DatabaseInfo> dbList = await ListDatabasesAsync().ConfigureAwait(false);
return dbList.Any(item => item.Id == guid);
}

Expand Down Expand Up @@ -671,9 +669,9 @@ public DatabaseInfo GetDatabaseInfo(Guid dbGuid)
/// var info = await admin.GetDatabaseInfoAsync(new Guid("..."));
/// </code>
/// </example>
public async Task<DatabaseInfo> GetDatabaseInfoAsync(Guid dbGuid)
public Task<DatabaseInfo> GetDatabaseInfoAsync(Guid dbGuid)
{
return await GetDatabaseInfoAsync(dbGuid, null, false).ConfigureAwait(false);
return GetDatabaseInfoAsync(dbGuid, null, true);
}

/// <summary>
Expand Down Expand Up @@ -703,9 +701,9 @@ public DatabaseInfo GetDatabaseInfo(Guid dbGuid, CommandOptions options)
/// var info = await admin.GetDatabaseInfoAsync(new Guid("..."), options);
/// </code>
/// </example>
public async Task<DatabaseInfo> GetDatabaseInfoAsync(Guid dbGuid, CommandOptions options)
public Task<DatabaseInfo> GetDatabaseInfoAsync(Guid dbGuid, CommandOptions options)
{
return await GetDatabaseInfoAsync(dbGuid, options, false).ConfigureAwait(false);
return GetDatabaseInfoAsync(dbGuid, options, false);
}

internal async Task<DatabaseInfo> GetDatabaseInfoAsync(Guid dbGuid, bool runSynchronously)
Expand Down
83 changes: 37 additions & 46 deletions src/DataStax.AstraDB.DataApi/Collections/Collection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -274,9 +274,9 @@ public void Drop()
/// <summary>
/// Asynchronously drops the collection from the database.
/// </summary>
public async Task DropAsync()
public Task DropAsync()
{
await _database.DropCollectionAsync(_collectionName).ConfigureAwait(false);
return _database.DropCollectionAsync(_collectionName);
}

public T FindOne()
Expand Down Expand Up @@ -754,10 +754,9 @@ public Task<T> FindOneAndUpdateAsync(Filter<T> filter, UpdateBuilder<T> update,

/// <inheritdoc cref="FindOneAndUpdateAsync(Filter{T}, UpdateBuilder{T}, FindOneAndUpdateOptions{T})"/>
/// <param name="commandOptions"></param>
public async Task<T> FindOneAndUpdateAsync(Filter<T> filter, UpdateBuilder<T> update, FindOneAndUpdateOptions<T> updateOptions, CommandOptions commandOptions)
public Task<T> FindOneAndUpdateAsync(Filter<T> filter, UpdateBuilder<T> update, FindOneAndUpdateOptions<T> updateOptions, CommandOptions commandOptions)
{
var response = await FindOneAndUpdateAsync<T>(filter, update, updateOptions, commandOptions, false).ConfigureAwait(false);
return response;
return FindOneAndUpdateAsync<T>(filter, update, updateOptions, commandOptions, false);
}

/// <summary>
Expand Down Expand Up @@ -807,10 +806,9 @@ public Task<TResult> FindOneAndUpdateAsync<TResult>(Filter<T> filter, UpdateBuil

/// <inheritdoc cref="FindOneAndUpdateAsync{TResult}(Filter{T}, UpdateBuilder{T}, FindOneAndUpdateOptions{T})"/>
/// <param name="commandOptions"></param>
public async Task<TResult> FindOneAndUpdateAsync<TResult>(Filter<T> filter, UpdateBuilder<T> update, FindOneAndUpdateOptions<T> updateOptions, CommandOptions commandOptions)
public Task<TResult> FindOneAndUpdateAsync<TResult>(Filter<T> filter, UpdateBuilder<T> update, FindOneAndUpdateOptions<T> updateOptions, CommandOptions commandOptions)
{
var response = await FindOneAndUpdateAsync<TResult>(filter, update, updateOptions, commandOptions, false).ConfigureAwait(false);
return response;
return FindOneAndUpdateAsync<TResult>(filter, update, updateOptions, commandOptions, false);
}

internal async Task<TResult> FindOneAndUpdateAsync<TResult>(Filter<T> filter, UpdateBuilder<T> update, FindOneAndUpdateOptions<T> updateOptions, CommandOptions commandOptions, bool runSynchronously)
Expand Down Expand Up @@ -869,10 +867,9 @@ public Task<T> FindOneAndReplaceAsync(T replacement, ReplaceOptions<T> replaceOp

/// <inheritdoc cref="FindOneAndReplaceAsync(T, ReplaceOptions{T})"/>
/// <param name="commandOptions"></param>
public async Task<T> FindOneAndReplaceAsync(T replacement, ReplaceOptions<T> replaceOptions, CommandOptions commandOptions)
public Task<T> FindOneAndReplaceAsync(T replacement, ReplaceOptions<T> replaceOptions, CommandOptions commandOptions)
{
var response = await FindOneAndReplaceAsync<T>(null, replacement, replaceOptions, commandOptions, false).ConfigureAwait(false);
return response;
return FindOneAndReplaceAsync<T>(null, replacement, replaceOptions, commandOptions, false);
}

/// <summary>
Expand Down Expand Up @@ -922,10 +919,9 @@ public Task<TResult> FindOneAndReplaceAsync<TResult>(T replacement, ReplaceOptio

/// <inheritdoc cref="FindOneAndReplaceAsync{TResult}(T, ReplaceOptions{T})"/>
/// <param name="commandOptions"></param>
public async Task<TResult> FindOneAndReplaceAsync<TResult>(T replacement, ReplaceOptions<T> replaceOptions, CommandOptions commandOptions)
public Task<TResult> FindOneAndReplaceAsync<TResult>(T replacement, ReplaceOptions<T> replaceOptions, CommandOptions commandOptions)
{
var response = await FindOneAndReplaceAsync<TResult>(null, replacement, replaceOptions, commandOptions, false).ConfigureAwait(false);
return response;
return FindOneAndReplaceAsync<TResult>(null, replacement, replaceOptions, commandOptions, false);
}

/// <summary>
Expand Down Expand Up @@ -976,10 +972,9 @@ public Task<T> FindOneAndReplaceAsync(Filter<T> filter, T replacement, ReplaceOp

/// <inheritdoc cref="FindOneAndReplaceAsync(Filter{T}, T, ReplaceOptions{T})"/>
/// <param name="commandOptions"></param>
public async Task<T> FindOneAndReplaceAsync(Filter<T> filter, T replacement, ReplaceOptions<T> replaceOptions, CommandOptions commandOptions)
public Task<T> FindOneAndReplaceAsync(Filter<T> filter, T replacement, ReplaceOptions<T> replaceOptions, CommandOptions commandOptions)
{
var response = await FindOneAndReplaceAsync<T>(filter, replacement, replaceOptions, commandOptions, false).ConfigureAwait(false);
return response;
return FindOneAndReplaceAsync<T>(filter, replacement, replaceOptions, commandOptions, false);
}

/// <summary>
Expand Down Expand Up @@ -1035,10 +1030,9 @@ public Task<TResult> FindOneAndReplaceAsync<TResult>(Filter<T> filter, T replace
/// The FindOneAndReplace alternatives that accept a TResult type parameter allow for deserializing the resulting document
/// as a different type (most commonly used when using projection to return a subset of fields)
/// </remarks>
public async Task<TResult> FindOneAndReplaceAsync<TResult>(Filter<T> filter, T replacement, ReplaceOptions<T> replaceOptions, CommandOptions commandOptions)
public Task<TResult> FindOneAndReplaceAsync<TResult>(Filter<T> filter, T replacement, ReplaceOptions<T> replaceOptions, CommandOptions commandOptions)
{
var response = await FindOneAndReplaceAsync<TResult>(filter, replacement, replaceOptions, commandOptions, false).ConfigureAwait(false);
return response;
return FindOneAndReplaceAsync<TResult>(filter, replacement, replaceOptions, commandOptions, false);
}

internal async Task<TResult> FindOneAndReplaceAsync<TResult>(Filter<T> filter, T replacement, ReplaceOptions<T> replaceOptions, CommandOptions commandOptions, bool runSynchronously)
Expand Down Expand Up @@ -1075,7 +1069,7 @@ public ReplaceResult ReplaceOne(Filter<T> filter, T replacement, ReplaceOptions<
public ReplaceResult ReplaceOne(Filter<T> filter, T replacement, ReplaceOptions<T> replaceOptions, CommandOptions commandOptions)
{
var response = ReplaceOneAsync(filter, replacement, replaceOptions, commandOptions, true).ResultSync();
return response.Result;
return response;
}

/// <summary>
Expand All @@ -1099,20 +1093,19 @@ public Task<ReplaceResult> ReplaceOneAsync(Filter<T> filter, T replacement, Repl

/// <inheritdoc cref="ReplaceOneAsync(Filter{T}, T, ReplaceOptions{T})"/>
/// <param name="commandOptions"></param>
public async Task<ReplaceResult> ReplaceOneAsync(Filter<T> filter, T replacement, ReplaceOptions<T> replaceOptions, CommandOptions commandOptions)
public Task<ReplaceResult> ReplaceOneAsync(Filter<T> filter, T replacement, ReplaceOptions<T> replaceOptions, CommandOptions commandOptions)
{
var response = await ReplaceOneAsync(filter, replacement, replaceOptions, commandOptions, false).ConfigureAwait(false);
return response.Result;
return ReplaceOneAsync(filter, replacement, replaceOptions, commandOptions, false);
}

internal async Task<ApiResponseWithStatus<ReplaceResult>> ReplaceOneAsync(Filter<T> filter, T replacement, ReplaceOptions<T> replaceOptions, CommandOptions commandOptions, bool runSynchronously)
internal async Task<ReplaceResult> ReplaceOneAsync(Filter<T> filter, T replacement, ReplaceOptions<T> replaceOptions, CommandOptions commandOptions, bool runSynchronously)
{
replaceOptions.Filter = filter;
replaceOptions.Replacement = replacement;
replaceOptions.Projection = new ExclusiveProjectionBuilder<T>().Exclude("*");
var command = CreateCommand("findOneAndReplace").WithPayload(replaceOptions).AddCommandOptions(commandOptions);
var response = await command.RunAsyncReturnStatus<ReplaceResult>(runSynchronously).ConfigureAwait(false);
return response;
return response.Result;
}

/// <summary>
Expand Down Expand Up @@ -1630,7 +1623,7 @@ public UpdateResult UpdateOne(Filter<T> filter, UpdateBuilder<T> update, UpdateO
public UpdateResult UpdateOne(Filter<T> filter, UpdateBuilder<T> update, UpdateOneOptions<T> updateOptions, CommandOptions commandOptions)
{
var response = UpdateOneAsync(filter, update, updateOptions, commandOptions, true).ResultSync();
return response.Result;
return response;
}

/// <summary>
Expand Down Expand Up @@ -1675,19 +1668,18 @@ public Task<UpdateResult> UpdateOneAsync(Filter<T> filter, UpdateBuilder<T> upda

/// <inheritdoc cref="UpdateOneAsync(Filter{T}, UpdateBuilder{T}, UpdateOneOptions{T})"/>
/// <param name="commandOptions"></param>
public async Task<UpdateResult> UpdateOneAsync(Filter<T> filter, UpdateBuilder<T> update, UpdateOneOptions<T> updateOptions, CommandOptions commandOptions)
public Task<UpdateResult> UpdateOneAsync(Filter<T> filter, UpdateBuilder<T> update, UpdateOneOptions<T> updateOptions, CommandOptions commandOptions)
{
var response = await UpdateOneAsync(filter, update, updateOptions, commandOptions, false).ConfigureAwait(false);
return response.Result;
return UpdateOneAsync(filter, update, updateOptions, commandOptions, false);
}

internal async Task<ApiResponseWithStatus<UpdateResult>> UpdateOneAsync(Filter<T> filter, UpdateBuilder<T> update, UpdateOneOptions<T> updateOptions, CommandOptions commandOptions, bool runSynchronously)
internal async Task<UpdateResult> UpdateOneAsync(Filter<T> filter, UpdateBuilder<T> update, UpdateOneOptions<T> updateOptions, CommandOptions commandOptions, bool runSynchronously)
{
updateOptions.Filter = filter;
updateOptions.Update = update;
var command = CreateCommand("updateOne").WithPayload(updateOptions).AddCommandOptions(commandOptions);
var response = await command.RunAsyncReturnStatus<UpdateResult>(runSynchronously).ConfigureAwait(false);
return response;
return response.Result;
}

/// <summary>
Expand Down Expand Up @@ -1715,7 +1707,7 @@ public UpdateResult UpdateMany(Filter<T> filter, UpdateBuilder<T> update, Update
public UpdateResult UpdateMany(Filter<T> filter, UpdateBuilder<T> update, UpdateManyOptions<T> updateOptions, CommandOptions commandOptions)
{
var response = UpdateManyAsync(filter, update, updateOptions, commandOptions, false).ResultSync();
return response.Result;
return response;
}

/// <summary>
Expand All @@ -1738,13 +1730,12 @@ public Task<UpdateResult> UpdateManyAsync(Filter<T> filter, UpdateBuilder<T> upd

/// <inheritdoc cref="UpdateManyAsync(Filter{T}, UpdateBuilder{T}, UpdateManyOptions{T})"/>
/// <param name="commandOptions"></param>
public async Task<UpdateResult> UpdateManyAsync(Filter<T> filter, UpdateBuilder<T> update, UpdateManyOptions<T> updateOptions, CommandOptions commandOptions)
public Task<UpdateResult> UpdateManyAsync(Filter<T> filter, UpdateBuilder<T> update, UpdateManyOptions<T> updateOptions, CommandOptions commandOptions)
{
var response = await UpdateManyAsync(filter, update, updateOptions, commandOptions, false).ConfigureAwait(false);
return response.Result;
return UpdateManyAsync(filter, update, updateOptions, commandOptions, false);
}

internal async Task<ApiResponseWithStatus<UpdateResult>> UpdateManyAsync(Filter<T> filter, UpdateBuilder<T> update, UpdateManyOptions<T> updateOptions, CommandOptions commandOptions, bool runSynchronously)
internal async Task<UpdateResult> UpdateManyAsync(Filter<T> filter, UpdateBuilder<T> update, UpdateManyOptions<T> updateOptions, CommandOptions commandOptions, bool runSynchronously)
{
updateOptions.Filter = filter;
updateOptions.Update = update;
Expand All @@ -1767,7 +1758,7 @@ internal async Task<ApiResponseWithStatus<UpdateResult>> UpdateManyAsync(Filter<
keepProcessing = false;
}
}
return new ApiResponseWithStatus<UpdateResult>() { Result = updateResult };
return updateResult;
}

/// <summary>
Expand All @@ -1780,10 +1771,10 @@ public DocumentsCountResult CountDocuments()
}

/// <summary>
/// Synchronous version of <see cref="CountDocumentsAsync(CommandOptions)"/>
/// Synchronous version of <see cref="CountDocumentsAsync(CountDocumentsCommandOptions)"/>
/// </summary>
/// <inheritdoc cref="CountDocumentsAsync(CommandOptions)"/>
public DocumentsCountResult CountDocuments(CommandOptions commandOptions)
public DocumentsCountResult CountDocuments(CountDocumentsCommandOptions commandOptions)
{
return CountDocumentsAsync(null, commandOptions, true).ResultSync();
}
Expand All @@ -1802,7 +1793,7 @@ public Task<DocumentsCountResult> CountDocumentsAsync()
/// </summary>
/// <param name="commandOptions"></param>
/// <returns></returns>
public Task<DocumentsCountResult> CountDocumentsAsync(CommandOptions commandOptions)
public Task<DocumentsCountResult> CountDocumentsAsync(CountDocumentsCommandOptions commandOptions)
{
return CountDocumentsAsync(null, commandOptions, false);
}
Expand All @@ -1817,10 +1808,10 @@ public DocumentsCountResult CountDocuments(Filter<T> filter)
}

/// <summary>
/// Synchronous version of <see cref="CountDocumentsAsync(Filter{T}, CommandOptions)"/>
/// Synchronous version of <see cref="CountDocumentsAsync(Filter{T}, CountDocumentsCommandOptions)"/>
/// </summary>
/// <inheritdoc cref="CountDocumentsAsync(Filter{T}, CommandOptions)"/>
public DocumentsCountResult CountDocuments(Filter<T> filter, CommandOptions commandOptions)
/// <inheritdoc cref="CountDocumentsAsync(Filter{T}, CountDocumentsCommandOptions)"/>
public DocumentsCountResult CountDocuments(Filter<T> filter, CountDocumentsCommandOptions commandOptions)
{
return CountDocumentsAsync(filter, commandOptions, true).ResultSync();
}
Expand All @@ -1837,12 +1828,12 @@ public Task<DocumentsCountResult> CountDocumentsAsync(Filter<T> filter)

/// <inheritdoc cref="CountDocumentsAsync(Filter{T}"/>
/// <param name="commandOptions"></param>
public Task<DocumentsCountResult> CountDocumentsAsync(Filter<T> filter, CommandOptions commandOptions)
public Task<DocumentsCountResult> CountDocumentsAsync(Filter<T> filter, CountDocumentsCommandOptions commandOptions)
{
return CountDocumentsAsync(filter, commandOptions, false);
}

internal async Task<DocumentsCountResult> CountDocumentsAsync(Filter<T> filter, CommandOptions commandOptions, bool runSynchronously)
internal async Task<DocumentsCountResult> CountDocumentsAsync(Filter<T> filter, CountDocumentsCommandOptions commandOptions, bool runSynchronously)
{
var findOptions = new DocumentFindOptions<T>()
{
Expand Down
1 change: 0 additions & 1 deletion src/DataStax.AstraDB.DataApi/Core/CollectionDefinition.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

using DataStax.AstraDB.DataApi.SerDes;
using System;
using System.Collections.ObjectModel;
using System.Reflection;
using System.Text.Json.Serialization;

Expand Down
1 change: 0 additions & 1 deletion src/DataStax.AstraDB.DataApi/Core/Commands/Command.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

using DataStax.AstraDB.DataApi.Collections;
using DataStax.AstraDB.DataApi.SerDes;
using DataStax.AstraDB.DataApi.Tables;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
Expand Down
22 changes: 22 additions & 0 deletions src/DataStax.AstraDB.DataApi/Core/CountDocumentsCommandOptions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/*
* Copyright DataStax, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

namespace DataStax.AstraDB.DataApi.Core;

public class CountDocumentsCommandOptions : CommandOptions
{
public int MaxDocumentsToCount { get; set; } = int.MaxValue;
}
8 changes: 4 additions & 4 deletions src/DataStax.AstraDB.DataApi/Core/Database.cs
Original file line number Diff line number Diff line change
Expand Up @@ -967,16 +967,16 @@ public void DropTableIndex(string indexName, DropIndexCommandOptions commandOpti
/// Drops an index on the table.
/// </summary>
/// <param name="indexName">The name of the index to drop</param>
public async Task DropTableIndexAsync(string indexName)
public Task DropTableIndexAsync(string indexName)
{
await DropTableIndexAsync(indexName, null, false);
return DropTableIndexAsync(indexName, null, false);
}

/// <inheritdoc cref="DropTableIndexAsync(string)"/>
/// <param name="commandOptions"></param>
public async Task DropTableIndexAsync(string indexName, DropIndexCommandOptions commandOptions)
public Task DropTableIndexAsync(string indexName, DropIndexCommandOptions commandOptions)
{
await DropTableIndexAsync(indexName, commandOptions, false);
return DropTableIndexAsync(indexName, commandOptions, false);
}

private async Task DropTableIndexAsync(string indexName, DropIndexCommandOptions commandOptions, bool runSynchronously)
Expand Down
1 change: 0 additions & 1 deletion src/DataStax.AstraDB.DataApi/Core/Query/FindOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
* limitations under the License.
*/

using MongoDB.Bson;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json.Serialization;
Expand Down
Loading