Skip to content

IGNITE-25940 .NET: Add ContainsAllKeys to table views#7596

Merged
ptupitsyn merged 11 commits intoapache:mainfrom
peper0n1:IGNITE-25940
Feb 18, 2026
Merged

IGNITE-25940 .NET: Add ContainsAllKeys to table views#7596
ptupitsyn merged 11 commits intoapache:mainfrom
peper0n1:IGNITE-25940

Conversation

@peper0n1
Copy link
Contributor

@peper0n1 peper0n1 commented Feb 15, 2026

No description provided.

@peper0n1 peper0n1 requested a review from ptupitsyn as a code owner February 15, 2026 15:16
@peper0n1 peper0n1 force-pushed the IGNITE-25940 branch 4 times, most recently from 464f204 to d9a1e3c Compare February 17, 2026 20:27
@ptupitsyn ptupitsyn changed the title IGNITE-25940 Add ContainsAll to table views IGNITE-25940 .NET: Add ContainsAllKeys to table views Feb 18, 2026
@ptupitsyn ptupitsyn requested a review from Copilot February 18, 2026 09:28
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new .NET table-view API to check existence of multiple keys in one call, wiring it through the thin client protocol and covering it with tests.

Changes:

  • Added ContainsAllKeysAsync to IRecordView<T> and IKeyValueView<TK, TV> and implemented it in internal view classes.
  • Introduced a new client operation (TupleContainsAllKeys) and mapped it through operation typing + retry policy.
  • Added extensive test coverage (record views, key-value views, binary/POCO variants, partition awareness, compatibility).

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
modules/platforms/dotnet/Apache.Ignite/Table/IRecordView.cs Public API: adds ContainsAllKeysAsync to record views.
modules/platforms/dotnet/Apache.Ignite/Table/IKeyValueView.cs Public API: adds ContainsAllKeysAsync to key-value views.
modules/platforms/dotnet/Apache.Ignite/Internal/Table/RecordView.cs Implements ContainsAllKeysAsync via new client op.
modules/platforms/dotnet/Apache.Ignite/Internal/Table/KeyValueView.cs Implements ContainsAllKeysAsync by delegating to record view.
modules/platforms/dotnet/Apache.Ignite/Internal/Proto/ClientOp.cs Adds protocol op code TupleContainsAllKeys.
modules/platforms/dotnet/Apache.Ignite/Internal/Proto/ClientOpExtensions.cs Maps new internal op to public ClientOperationType.
modules/platforms/dotnet/Apache.Ignite/ClientOperationType.cs Adds public operation type for diagnostics/retry.
modules/platforms/dotnet/Apache.Ignite/RetryReadPolicy.cs Enables retries for the new read-only operation.
modules/platforms/dotnet/Apache.Ignite/ApiCompatibilitySuppressions.xml Adds API-compat suppressions for the new interface methods.
modules/platforms/dotnet/Apache.Ignite.Tests/Table/RecordViewPocoTests.cs Adds record-view tests for ContainsAllKeysAsync.
modules/platforms/dotnet/Apache.Ignite.Tests/Table/RecordViewBinaryTests.cs Adds binary record-view tests for ContainsAllKeysAsync.
modules/platforms/dotnet/Apache.Ignite.Tests/Table/KeyValueViewPrimitiveTests.cs Adds primitive key-value tests for ContainsAllKeysAsync.
modules/platforms/dotnet/Apache.Ignite.Tests/Table/KeyValueViewPrimitivePocoTests.cs Adds primitive+POCO key-value tests for ContainsAllKeysAsync.
modules/platforms/dotnet/Apache.Ignite.Tests/Table/KeyValueViewPocoTests.cs Adds POCO key-value tests for ContainsAllKeysAsync.
modules/platforms/dotnet/Apache.Ignite.Tests/Table/KeyValueViewPocoPrimitiveTests.cs Adds POCO-key + primitive-value key-value tests for ContainsAllKeysAsync.
modules/platforms/dotnet/Apache.Ignite.Tests/Table/KeyValueViewBinaryTests.cs Adds binary key-value tests for ContainsAllKeysAsync.
modules/platforms/dotnet/Apache.Ignite.Tests/PartitionAwarenessTests.cs Ensures partition awareness routes the new op correctly.
modules/platforms/dotnet/Apache.Ignite.Tests/FakeServer.cs Updates fake server to respond to the new op in unit tests.
modules/platforms/dotnet/Apache.Ignite.Tests/Compatibility/CurrentClientWithOldServerCompatibilityTest.cs Replaces TODO with real compatibility assertions for the new API.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ptupitsyn ptupitsyn merged commit fcc308e into apache:main Feb 18, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments