ptupitsyn commented on a change in pull request #342:
URL: https://github.com/apache/ignite-3/pull/342#discussion_r710384527
##########
File path: modules/platforms/dotnet/Apache.Ignite/Table/ITableView.cs
##########
@@ -31,15 +32,148 @@ public interface ITableView<T>
/// <summary>
/// Gets a record by key.
/// </summary>
- /// <param name="keyRec">A record with key columns set.</param>
- /// <returns>A <see cref="Task"/> representing the asynchronous
operation.</returns>
- Task<T?> GetAsync(T keyRec);
+ /// <param name="key">A record with key columns set.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains a record with all columns.
+ /// </returns>
+ Task<T?> GetAsync(T key);
+
+ /// <summary>
+ /// Gets multiple records by keys.
+ /// </summary>
+ /// <param name="keys">Collection of records with key columns
set.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains matching records with all columns.
+ /// </returns>
+ Task<IList<T>> GetAllAsync(IEnumerable<T> keys);
/// <summary>
/// Inserts a record into the table if it does not exist or replaces
the existing one.
/// </summary>
- /// <param name="rec">Record to upsert.</param>
+ /// <param name="record">Record to upsert.</param>
/// <returns>A <see cref="Task"/> representing the asynchronous
operation.</returns>
- Task UpsertAsync(T rec);
+ Task UpsertAsync(T record);
+
+ /// <summary>
+ /// Inserts multiple records into the table, replacing existing ones.
+ /// </summary>
+ /// <param name="records">Records to upsert.</param>
+ /// <returns>A <see cref="Task"/> representing the asynchronous
operation.</returns>
+ Task UpsertAllAsync(IEnumerable<T> records);
+
+ /// <summary>
+ /// Inserts a record into the table if it does not exist or replaces
the existing one.
+ /// </summary>
+ /// <param name="record">Record to upsert.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains replaced record or null if it did not
exist.
+ /// </returns>
+ Task<T?> GetAndUpsertAsync(T record);
+
+ /// <summary>
+ /// Inserts a record into the table if it does not exist.
+ /// </summary>
+ /// <param name="record">Record to insert.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains a value indicating whether the record was
inserted. Returns <c>false</c> if a
+ /// record with the same key already exists.
+ /// </returns>
+ Task<bool> InsertAsync(T record);
+
+ /// <summary>
+ /// Inserts multiple records into the table, skipping existing ones.
+ /// </summary>
+ /// <param name="records">Records to insert.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains skipped records.
+ /// </returns>
+ Task<IList<T>> InsertAllAsync(IEnumerable<T> records);
+
+ /// <summary>
+ /// Replaces a record with the same key columns if it exists.
Review comment:
Fixed.
##########
File path: modules/platforms/dotnet/Apache.Ignite/Table/ITableView.cs
##########
@@ -31,15 +32,148 @@ public interface ITableView<T>
/// <summary>
/// Gets a record by key.
/// </summary>
- /// <param name="keyRec">A record with key columns set.</param>
- /// <returns>A <see cref="Task"/> representing the asynchronous
operation.</returns>
- Task<T?> GetAsync(T keyRec);
+ /// <param name="key">A record with key columns set.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains a record with all columns.
+ /// </returns>
+ Task<T?> GetAsync(T key);
+
+ /// <summary>
+ /// Gets multiple records by keys.
+ /// </summary>
+ /// <param name="keys">Collection of records with key columns
set.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains matching records with all columns.
+ /// </returns>
+ Task<IList<T>> GetAllAsync(IEnumerable<T> keys);
/// <summary>
/// Inserts a record into the table if it does not exist or replaces
the existing one.
/// </summary>
- /// <param name="rec">Record to upsert.</param>
+ /// <param name="record">Record to upsert.</param>
/// <returns>A <see cref="Task"/> representing the asynchronous
operation.</returns>
- Task UpsertAsync(T rec);
+ Task UpsertAsync(T record);
+
+ /// <summary>
+ /// Inserts multiple records into the table, replacing existing ones.
+ /// </summary>
+ /// <param name="records">Records to upsert.</param>
+ /// <returns>A <see cref="Task"/> representing the asynchronous
operation.</returns>
+ Task UpsertAllAsync(IEnumerable<T> records);
+
+ /// <summary>
+ /// Inserts a record into the table if it does not exist or replaces
the existing one.
+ /// </summary>
+ /// <param name="record">Record to upsert.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains replaced record or null if it did not
exist.
+ /// </returns>
+ Task<T?> GetAndUpsertAsync(T record);
+
+ /// <summary>
+ /// Inserts a record into the table if it does not exist.
+ /// </summary>
+ /// <param name="record">Record to insert.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains a value indicating whether the record was
inserted. Returns <c>false</c> if a
+ /// record with the same key already exists.
+ /// </returns>
+ Task<bool> InsertAsync(T record);
+
+ /// <summary>
+ /// Inserts multiple records into the table, skipping existing ones.
+ /// </summary>
+ /// <param name="records">Records to insert.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains skipped records.
+ /// </returns>
+ Task<IList<T>> InsertAllAsync(IEnumerable<T> records);
+
+ /// <summary>
+ /// Replaces a record with the same key columns if it exists.
+ /// </summary>
+ /// <param name="record">Record to insert.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains a value indicating whether a record with
the specified key was replaced.
+ /// </returns>
+ Task<bool> ReplaceAsync(T record);
+
+ /// <summary>
+ /// Replaces a record with a new one only if all existing columns have
the same values
+ /// as the specified <paramref name="record"/>.
+ /// </summary>
+ /// <param name="record">Record to replace.</param>
+ /// <param name="newRecord">Record to replace with.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains a value indicating whether a record was
replaced.
+ /// </returns>
+ Task<bool> ReplaceAsync(T record, T newRecord);
+
+ /// <summary>
+ /// Replaces a record with the same key columns if it exists.
+ /// </summary>
+ /// <param name="record">Record to insert.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains the previous value for the given key, or
<c>null</c> if it did not exist.
+ /// </returns>
+ Task<T?> GetAndReplaceAsync(T record);
+
+ /// <summary>
+ /// Deletes a record with the specified key.
+ /// </summary>
+ /// <param name="key">A record with key columns set.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains a value indicating whether a record with
the specified key was deleted.
+ /// </returns>
+ Task<bool> DeleteAsync(T key);
+
+ /// <summary>
+ /// Deletes a record only if all existing columns have the same values
as the specified <paramref name="record"/>.
+ /// </summary>
+ /// <param name="record">A record with all columns set.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains a value indicating whether a record was
deleted.
+ /// </returns>
+ Task<bool> DeleteExactAsync(T record);
+
+ /// <summary>
+ /// Gets and deletes a record with the specified key.
+ /// </summary>
+ /// <param name="key">A record with key columns set.</param>
+ /// <returns>
+ /// A <see cref="Task"/> representing the asynchronous operation.
+ /// The task result contains deleted record or <c>null</c> if it did
not exist.
+ /// </returns>
+ Task<T?> GetAndDeleteAsync(T key);
+
+ /// <summary>
+ /// Deletes multiple records.
Review comment:
Fixed.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]