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]


Reply via email to