Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IGNITE-16355 .NET: Support value types in the Table API #1190

Merged
merged 30 commits into from Oct 12, 2022

Conversation

ptupitsyn
Copy link
Contributor

@ptupitsyn ptupitsyn commented Oct 11, 2022

  • Remove where T : class constraint from all APIs.
  • Use Option<T> as a return type for APIs which can return "no value" results, such as Get, GetAndUpsert, GetAndDelete.
    • It is not possible to handle nullable value and reference types in a generic way, so we have to use a common wrapper. Option<T> also clearly indicates which APIs always return something and which don't.
  • Fix ObjectSerializerHandler to support value types.

@ptupitsyn ptupitsyn self-assigned this Oct 11, 2022
Copy link
Contributor

@isapego isapego left a comment

Choose a reason for hiding this comment

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

Looks good to me. Left minor comment.

modules/platforms/dotnet/Apache.Ignite/Option.cs Outdated Show resolved Hide resolved
ptupitsyn and others added 2 commits October 12, 2022 09:44
@ptupitsyn ptupitsyn merged commit c4c6821 into apache:main Oct 12, 2022
@ptupitsyn ptupitsyn deleted the ignite-16355 branch October 12, 2022 09:56
lowka pushed a commit to gridgain/apache-ignite-3 that referenced this pull request Mar 18, 2023
* Remove `where T : class` constraint from all APIs.
* Use `Option<T>` as a return type for APIs which can return "no value" results, such as `Get`, `GetAndUpsert`, `GetAndDelete`.
    * It is not possible to handle nullable value and reference types in a generic way, so we have to use a common wrapper. `Option<T>` also clearly indicates which APIs always return something and which don't.
* Fix `ObjectSerializerHandler` to support value types.
lowka pushed a commit to gridgain/apache-ignite-3 that referenced this pull request Apr 19, 2023
* Remove `where T : class` constraint from all APIs.
* Use `Option<T>` as a return type for APIs which can return "no value" results, such as `Get`, `GetAndUpsert`, `GetAndDelete`.
    * It is not possible to handle nullable value and reference types in a generic way, so we have to use a common wrapper. `Option<T>` also clearly indicates which APIs always return something and which don't.
* Fix `ObjectSerializerHandler` to support value types.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants